r-cochran/cuke_sniffer

View on GitHub
examples/simple_project/cuke_sniffer_results.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0"?>
<cuke_sniffer>
  <rules>
    <rule>
      <symbol>no_examples</symbol>
      <enabled>true</enabled>
      <phrase>Scenario Outline with no examples.</phrase>
      <score>100</score>
      <conditions/>
      <targets>
        <targets>["Scenario"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb0060d8@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:24 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>no_examples_table</symbol>
      <enabled>true</enabled>
      <phrase>Scenario Outline with no examples table.</phrase>
      <score>100</score>
      <conditions/>
      <targets>
        <targets>["Scenario"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb006010@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:31 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>recursive_nested_step</symbol>
      <enabled>true</enabled>
      <phrase>Recursive nested step call.</phrase>
      <score>100</score>
      <conditions/>
      <targets>
        <targets>["StepDefinition"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb005f48@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:38 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>background_with_tag</symbol>
      <enabled>true</enabled>
      <phrase>There is a background with a tag. This feature file cannot run!</phrase>
      <score>100</score>
      <conditions/>
      <targets>
        <targets>["Background"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb005e58@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:45 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>comment_after_tag</symbol>
      <enabled>true</enabled>
      <phrase>Comment comes between tag and properly executing line. This feature file cannot run!</phrase>
      <score>100</score>
      <conditions/>
      <targets>
        <targets>["Feature", "Scenario"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb005d68@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:53 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>universal_nested_step</symbol>
      <enabled>true</enabled>
      <phrase>A nested step should not universally match all step definitions.  Dead steps cannot be correctly cataloged.</phrase>
      <score>100</score>
      <conditions/>
      <targets>
        <targets>["StepDefinition"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb005c50@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:73 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>no_description</symbol>
      <enabled>true</enabled>
      <phrase>{class} has no description.</phrase>
      <score>25</score>
      <conditions/>
      <targets>
        <targets>["Feature", "Scenario"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb005b10@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:86 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>no_scenarios</symbol>
      <enabled>true</enabled>
      <phrase>Feature with no scenarios.</phrase>
      <score>25</score>
      <conditions/>
      <targets>
        <targets>["Feature"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb005a20@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:93 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>commented_step</symbol>
      <enabled>true</enabled>
      <phrase>Commented step.</phrase>
      <score>25</score>
      <conditions/>
      <targets>
        <targets>["Scenario", "Background"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb005908@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:100 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>commented_example</symbol>
      <enabled>true</enabled>
      <phrase>Commented example.</phrase>
      <score>25</score>
      <conditions/>
      <targets>
        <targets>["Scenario"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb005818@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:109 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>no_steps</symbol>
      <enabled>true</enabled>
      <phrase>No steps in Scenario.</phrase>
      <score>25</score>
      <conditions/>
      <targets>
        <targets>["Scenario", "Background"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb005728@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:116 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>one_word_step</symbol>
      <enabled>true</enabled>
      <phrase>Step that is only one word long.</phrase>
      <score>25</score>
      <conditions/>
      <targets>
        <targets>["Scenario", "Background"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb0055e8@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:123 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>no_code</symbol>
      <enabled>true</enabled>
      <phrase>No code in Step Definition.</phrase>
      <score>25</score>
      <conditions/>
      <targets>
        <targets>["StepDefinition"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb0054f8@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:130 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>around_hook_without_2_parameters</symbol>
      <enabled>true</enabled>
      <phrase>Around hook without 2 parameters for Scenario and Block.</phrase>
      <score>25</score>
      <conditions/>
      <targets>
        <targets>["Hook"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb005408@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:137 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>around_hook_no_block_call</symbol>
      <enabled>true</enabled>
      <phrase>Around hook does not call its block.</phrase>
      <score>25</score>
      <conditions/>
      <targets>
        <targets>["Hook"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb005340@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:144 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>hook_no_debugging</symbol>
      <enabled>true</enabled>
      <phrase>Hook without a begin/rescue. Reduced visibility when debugging.</phrase>
      <score>25</score>
      <conditions/>
      <targets>
        <targets>["Hook"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb005228@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:151 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>hook_conflicting_tags</symbol>
      <enabled>true</enabled>
      <phrase>Hook that both expects and ignores the same tag. This hook will not function as expected.</phrase>
      <score>25</score>
      <conditions/>
      <targets>
        <targets>["Hook"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb005160@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:159 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>numbers_in_description</symbol>
      <enabled>true</enabled>
      <phrase>{class} has numbers in the description.</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Feature", "Scenario", "Background"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb004ff8@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:169 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>empty_feature</symbol>
      <enabled>true</enabled>
      <phrase>Feature file has no content.</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Feature"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb004f08@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:176 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>background_with_no_scenarios</symbol>
      <enabled>true</enabled>
      <phrase>Feature has a background with no scenarios.</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Feature"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb004e18@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:183 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>background_with_one_scenario</symbol>
      <enabled>true</enabled>
      <phrase>Feature has a background with one scenario.</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Feature"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb004d28@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:190 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>too_many_steps</symbol>
      <enabled>true</enabled>
      <phrase>{class} with too many steps.</phrase>
      <score>10</score>
      <conditions>
        <condition>
          <name>max</name>
          <value>7</value>
        </condition>
      </conditions>
      <targets>
        <targets>["Scenario", "Background"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb004c38@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:198 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>out_of_order_steps</symbol>
      <enabled>true</enabled>
      <phrase>Scenario steps out of Given/When/Then order.</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Scenario"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb004b20@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:205 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>invalid_first_step</symbol>
      <enabled>true</enabled>
      <phrase>Invalid first step. Began with And/But.</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Scenario", "Background"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb004a30@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:220 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>asterisk_step</symbol>
      <enabled>true</enabled>
      <phrase>Step includes a * instead of Given/When/Then/And/But.</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Scenario", "Background"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb004940@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:227 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>one_example</symbol>
      <enabled>true</enabled>
      <phrase>Scenario Outline with only one example.</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Scenario"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb004878@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:235 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>too_many_examples</symbol>
      <enabled>true</enabled>
      <phrase>Scenario Outline with too many examples.</phrase>
      <score>10</score>
      <conditions>
        <condition>
          <name>max</name>
          <value>10</value>
        </condition>
      </conditions>
      <targets>
        <targets>["Scenario"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb0047b0@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:243 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>multiple_given_when_then</symbol>
      <enabled>true</enabled>
      <phrase>Given/When/Then used multiple times in the same {class}.</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Scenario", "Background"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb0046c0@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:250 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>too_many_parameters</symbol>
      <enabled>true</enabled>
      <phrase>Too many parameters in Step Definition.</phrase>
      <score>10</score>
      <conditions>
        <condition>
          <name>max</name>
          <value>4</value>
        </condition>
      </conditions>
      <targets>
        <targets>["StepDefinition"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb0045a8@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:262 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>lazy_debugging</symbol>
      <enabled>true</enabled>
      <phrase>Lazy Debugging through puts, p, or print</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["StepDefinition"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb0044e0@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:270 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>pending</symbol>
      <enabled>true</enabled>
      <phrase>Pending step definition. Implement or remove.</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["StepDefinition"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb0043f0@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:277 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>feature_same_tag</symbol>
      <enabled>true</enabled>
      <phrase>Same tag appears on both Feature and Scenario</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Feature"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb004328@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:289 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>scenario_same_tag</symbol>
      <enabled>true</enabled>
      <phrase>Tag appears on all scenarios.</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Feature"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb004260@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:303 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>commas_in_description</symbol>
      <enabled>true</enabled>
      <phrase>There are commas in the description, creating possible multirunning scenarios or features.</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Feature", "Scenario"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb004170@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:318 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>commented_tag</symbol>
      <enabled>true</enabled>
      <phrase>{class} has a commented out tag</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Feature", "Scenario"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb004030@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:325 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>empty_hook</symbol>
      <enabled>true</enabled>
      <phrase>Hook with no content.</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Hook"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb004e40@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:334 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>hook_all_comments</symbol>
      <enabled>true</enabled>
      <phrase>Hook is only comments.</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Hook"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb005480@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:341 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>hook_duplicate_tags</symbol>
      <enabled>true</enabled>
      <phrase>Hook has duplicate tags.</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Hook"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb005930@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:352 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>duplicate_scenario_name</symbol>
      <enabled>true</enabled>
      <phrase>Feature has scenarios with the same name.</phrase>
      <score>10</score>
      <conditions/>
      <targets>
        <targets>["Feature"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb005ea8@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:364 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>too_many_tags</symbol>
      <enabled>true</enabled>
      <phrase>{class} has too many tags.</phrase>
      <score>1</score>
      <conditions>
        <condition>
          <name>max</name>
          <value>8</value>
        </condition>
      </conditions>
      <targets>
        <targets>["Feature", "Scenario"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb006cb8@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:378 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>long_name</symbol>
      <enabled>true</enabled>
      <phrase>{class} has a long description.</phrase>
      <score>1</score>
      <conditions>
        <condition>
          <name>max</name>
          <value>180</value>
        </condition>
      </conditions>
      <targets>
        <targets>["Feature", "Scenario", "Background"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4bb007578@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:386 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>implementation_word</symbol>
      <enabled>true</enabled>
      <phrase>Implementation word used: {word}.</phrase>
      <score>1</score>
      <conditions>
        <condition>
          <name>words</name>
          <value>["page", "site", "url", "drop down", "dropdown", "select list", "click", "text box", "radio button", "check box", "xml", "window", "pop up", "pop-up", "screen", "database", "DB"]</value>
        </condition>
      </conditions>
      <targets>
        <targets>["Scenario", "Background"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4ba897c70@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:394 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>implementation_word_button</symbol>
      <enabled>true</enabled>
      <phrase>Implementation word used: button.</phrase>
      <score>1</score>
      <conditions/>
      <targets>
        <targets>["Scenario"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4ba897ba8@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:408 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>implementation_word_tab</symbol>
      <enabled>true</enabled>
      <phrase>Implementation word used: tab.</phrase>
      <score>1</score>
      <conditions/>
      <targets>
        <targets>["Scenario"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4ba897ae0@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:421 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>too_many_scenarios</symbol>
      <enabled>true</enabled>
      <phrase>Feature with too many scenarios.</phrase>
      <score>1</score>
      <conditions>
        <condition>
          <name>max</name>
          <value>10</value>
        </condition>
      </conditions>
      <targets>
        <targets>["Feature"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4ba897a18@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:431 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>date_used</symbol>
      <enabled>true</enabled>
      <phrase>Date used.</phrase>
      <score>1</score>
      <conditions/>
      <targets>
        <targets>["Scenario", "Background"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4ba897928@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:438 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>nested_step</symbol>
      <enabled>true</enabled>
      <phrase>Nested step call.</phrase>
      <score>1</score>
      <conditions/>
      <targets>
        <targets>["StepDefinition"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4ba897860@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:445 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>commented_code</symbol>
      <enabled>true</enabled>
      <phrase>Commented code in Step Definition.</phrase>
      <score>1</score>
      <conditions/>
      <targets>
        <targets>["StepDefinition"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4ba897798@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:452 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>small_sleep</symbol>
      <enabled>true</enabled>
      <phrase>Small sleeps used. Use a wait_until like method.</phrase>
      <score>1</score>
      <conditions>
        <condition>
          <name>max</name>
          <value>2</value>
        </condition>
      </conditions>
      <targets>
        <targets>["StepDefinition"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4ba8976d0@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:460 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>large_sleep</symbol>
      <enabled>true</enabled>
      <phrase>Large sleeps used. Use a wait_until like method.</phrase>
      <score>1</score>
      <conditions>
        <condition>
          <name>min</name>
          <value>2</value>
        </condition>
      </conditions>
      <targets>
        <targets>["StepDefinition"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4ba897608@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:474 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>todo</symbol>
      <enabled>true</enabled>
      <phrase>Todo found. Resolve it.</phrase>
      <score>1</score>
      <conditions/>
      <targets>
        <targets>["StepDefinition"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4ba897540@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:487 (lambda)&gt;</reason>
    </rule>
    <rule>
      <symbol>hook_not_in_hooks_file</symbol>
      <enabled>true</enabled>
      <phrase>Hook found outside of the designated hooks file</phrase>
      <score>1</score>
      <conditions>
        <condition>
          <name>file</name>
          <value>hooks.rb</value>
        </condition>
      </conditions>
      <targets>
        <targets>["Hook"]</targets>
      </targets>
      <reason>#&lt;Proc:0x007fa4ba897450@/usr/local/lib/ruby/gems/2.3.0/gems/cuke_sniffer-1.1.0/lib/cuke_sniffer/rule_config.rb:495 (lambda)&gt;</reason>
    </rule>
  </rules>
  <improvement_list>
    <improvement>
      <rule>Hook without a begin/rescue. Reduced visibility when debugging.</rule>
      <total>6</total>
    </improvement>
    <improvement>
      <rule>Hook found outside of the designated hooks file</rule>
      <total>1</total>
    </improvement>
    <improvement>
      <rule>Hook is only comments.</rule>
      <total>1</total>
    </improvement>
    <improvement>
      <rule>Scenario steps out of Given/When/Then order.</rule>
      <total>1</total>
    </improvement>
    <improvement>
      <rule>Nested step call.</rule>
      <total>1</total>
    </improvement>
    <improvement>
      <rule>Lazy Debugging through puts, p, or print</rule>
      <total>1</total>
    </improvement>
    <improvement>
      <rule>Hook with no content.</rule>
      <total>1</total>
    </improvement>
  </improvement_list>
  <features>
    <feature>
      <scenarios>
        <scenario>
          <start_line>3</start_line>
          <steps>
            <step>Given the first number is "1"</step>
            <step>And the second number is "1"</step>
            <step>When the calculator adds</step>
            <step>Then the result is "2"</step>
          </steps>
          <examples/>
          <score>0</score>
          <location>examples/simple_project/features/scenarios/complex_calculator.feature:3</location>
          <rules/>
          <type>Scenario</type>
        </scenario>
      </scenarios>
      <score>0</score>
      <location>examples/simple_project/features/scenarios/complex_calculator.feature</location>
      <rules/>
      <type>Feature</type>
    </feature>
    <feature>
      <scenarios>
        <scenario>
          <start_line>3</start_line>
          <steps>
            <step>Given I am a nested step</step>
          </steps>
          <examples/>
          <score>10</score>
          <location>examples/simple_project/features/scenarios/nested_directory/nested_feature.feature:3</location>
          <rules>
            <rule>
              <phrase>Scenario steps out of Given/When/Then order.</phrase>
              <score>1</score>
            </rule>
          </rules>
          <type>Scenario</type>
        </scenario>
      </scenarios>
      <score>0</score>
      <location>examples/simple_project/features/scenarios/nested_directory/nested_feature.feature</location>
      <rules/>
      <type>Feature</type>
    </feature>
    <feature>
      <scenarios>
        <scenario>
          <start_line>3</start_line>
          <steps>
            <step>Given the first number is 1</step>
            <step>And the second number is 1</step>
            <step>When the calculator adds</step>
            <step>Then the result is 2</step>
          </steps>
          <examples/>
          <score>0</score>
          <location>examples/simple_project/features/scenarios/simple_calculator.feature:3</location>
          <rules/>
          <type>Scenario</type>
        </scenario>
      </scenarios>
      <score>0</score>
      <location>examples/simple_project/features/scenarios/simple_calculator.feature</location>
      <rules/>
      <type>Feature</type>
    </feature>
  </features>
  <step_definitions>
    <step_definition>
      <start_line>1</start_line>
      <regex>(?-mix:^the first number is "([^"]*)"$)</regex>
      <parameters>
        <parameter>first_number</parameter>
      </parameters>
      <nested_steps/>
      <calls>
        <call>
          <location>examples/simple_project/features/scenarios/complex_calculator.feature:4</location>
          <call>the first number is "1"</call>
        </call>
        <call>
          <location>examples/simple_project/features/step_definitions/simple_calculator_steps.rb:2</location>
          <call>the first number is "1"</call>
        </call>
      </calls>
      <code>
        <code>@first_number = first_number.to_i</code>
      </code>
      <score>0</score>
      <location>examples/simple_project/features/step_definitions/complex_calculator_steps.rb:1</location>
      <rules/>
    </step_definition>
    <step_definition>
      <start_line>5</start_line>
      <regex>(?-mix:^the second number is "([^"]*)"$)</regex>
      <parameters>
        <parameter>second_number</parameter>
      </parameters>
      <nested_steps/>
      <calls>
        <call>
          <location>examples/simple_project/features/scenarios/complex_calculator.feature:5</location>
          <call>the second number is "1"</call>
        </call>
      </calls>
      <code>
        <code>@second_number = second_number.to_i</code>
      </code>
      <score>0</score>
      <location>examples/simple_project/features/step_definitions/complex_calculator_steps.rb:5</location>
      <rules/>
    </step_definition>
    <step_definition>
      <start_line>9</start_line>
      <regex>(?-mix:^the result is "([^"]*)"$)</regex>
      <parameters>
        <parameter>result</parameter>
      </parameters>
      <nested_steps/>
      <calls>
        <call>
          <location>examples/simple_project/features/scenarios/complex_calculator.feature:7</location>
          <call>the result is "2"</call>
        </call>
      </calls>
      <code>
        <code>result.to_i.should == @first_number + @second_number</code>
      </code>
      <score>0</score>
      <location>examples/simple_project/features/step_definitions/complex_calculator_steps.rb:9</location>
      <rules/>
    </step_definition>
    <step_definition>
      <start_line>1</start_line>
      <regex>(?-mix:^I am a nested step$)</regex>
      <parameters/>
      <nested_steps/>
      <calls>
        <call>
          <location>examples/simple_project/features/scenarios/nested_directory/nested_feature.feature:4</location>
          <call>I am a nested step</call>
        </call>
      </calls>
      <code>
        <code>puts "i have no functionality"</code>
      </code>
      <score>10</score>
      <location>examples/simple_project/features/step_definitions/nested_steps/nested_steps.rb:1</location>
      <rules>
        <rule>
          <phrase>Lazy Debugging through puts, p, or print</phrase>
          <score>1</score>
        </rule>
      </rules>
    </step_definition>
    <step_definition>
      <start_line>1</start_line>
      <regex>(?-mix:^the first number is 1$)</regex>
      <parameters/>
      <nested_steps>
        <nested_step>
          <location>examples/simple_project/features/step_definitions/simple_calculator_steps.rb:2</location>
          <call>the first number is "1"</call>
        </nested_step>
      </nested_steps>
      <calls>
        <call>
          <location>examples/simple_project/features/scenarios/simple_calculator.feature:4</location>
          <call>the first number is 1</call>
        </call>
      </calls>
      <code>
        <code>steps "Given the first number is \"1\""</code>
      </code>
      <score>1</score>
      <location>examples/simple_project/features/step_definitions/simple_calculator_steps.rb:1</location>
      <rules>
        <rule>
          <phrase>Nested step call.</phrase>
          <score>1</score>
        </rule>
      </rules>
    </step_definition>
    <step_definition>
      <start_line>5</start_line>
      <regex>(?-mix:^the second number is 1$)</regex>
      <parameters/>
      <nested_steps/>
      <calls>
        <call>
          <location>examples/simple_project/features/scenarios/simple_calculator.feature:5</location>
          <call>the second number is 1</call>
        </call>
      </calls>
      <code>
        <code>@second_number = 1</code>
      </code>
      <score>0</score>
      <location>examples/simple_project/features/step_definitions/simple_calculator_steps.rb:5</location>
      <rules/>
    </step_definition>
    <step_definition>
      <start_line>9</start_line>
      <regex>(?-mix:^the calculator adds$)</regex>
      <parameters/>
      <nested_steps/>
      <calls>
        <call>
          <location>examples/simple_project/features/scenarios/complex_calculator.feature:6</location>
          <call>the calculator adds</call>
        </call>
        <call>
          <location>examples/simple_project/features/scenarios/simple_calculator.feature:6</location>
          <call>the calculator adds</call>
        </call>
      </calls>
      <code>
        <code>@result = @first_number + @second_number</code>
      </code>
      <score>0</score>
      <location>examples/simple_project/features/step_definitions/simple_calculator_steps.rb:9</location>
      <rules/>
    </step_definition>
    <step_definition>
      <start_line>13</start_line>
      <regex>(?-mix:^the result is 2$)</regex>
      <parameters/>
      <nested_steps/>
      <calls>
        <call>
          <location>examples/simple_project/features/scenarios/simple_calculator.feature:7</location>
          <call>the result is 2</call>
        </call>
      </calls>
      <code>
        <code>@result.should == 2</code>
      </code>
      <score>0</score>
      <location>examples/simple_project/features/step_definitions/simple_calculator_steps.rb:13</location>
      <rules/>
    </step_definition>
  </step_definitions>
  <hooks>
    <hook>
      <start_line>1</start_line>
      <tags>
        <tag>@tag1</tag>
      </tags>
      <parameters/>
      <code/>
      <score>21</score>
      <location>examples/simple_project/features/support/env.rb:1</location>
      <rules>
        <rule>
          <phrase>Hook with no content.</phrase>
          <score>1</score>
        </rule>
        <rule>
          <phrase>Hook is only comments.</phrase>
          <score>1</score>
        </rule>
        <rule>
          <phrase>Hook found outside of the designated hooks file</phrase>
          <score>1</score>
        </rule>
      </rules>
      <type>Before</type>
    </hook>
    <hook>
      <start_line>1</start_line>
      <tags/>
      <parameters/>
      <code>
        <code>puts "after configuration"</code>
      </code>
      <score>25</score>
      <location>examples/simple_project/features/support/hooks.rb:1</location>
      <rules>
        <rule>
          <phrase>Hook without a begin/rescue. Reduced visibility when debugging.</phrase>
          <score>1</score>
        </rule>
      </rules>
      <type>AfterConfiguration</type>
    </hook>
    <hook>
      <start_line>5</start_line>
      <tags>
        <tag>@tag</tag>
      </tags>
      <parameters/>
      <code>
        <code>puts "before @tag ran"</code>
      </code>
      <score>25</score>
      <location>examples/simple_project/features/support/hooks.rb:5</location>
      <rules>
        <rule>
          <phrase>Hook without a begin/rescue. Reduced visibility when debugging.</phrase>
          <score>1</score>
        </rule>
      </rules>
      <type>Before</type>
    </hook>
    <hook>
      <start_line>9</start_line>
      <tags>
        <tag>~@tag</tag>
      </tags>
      <parameters/>
      <code>
        <code>puts "before ~@tag ran"</code>
      </code>
      <score>25</score>
      <location>examples/simple_project/features/support/hooks.rb:9</location>
      <rules>
        <rule>
          <phrase>Hook without a begin/rescue. Reduced visibility when debugging.</phrase>
          <score>1</score>
        </rule>
      </rules>
      <type>Before</type>
    </hook>
    <hook>
      <start_line>13</start_line>
      <tags>
        <tag>@tag</tag>
      </tags>
      <parameters/>
      <code>
        <code>puts "after @tag ran"</code>
      </code>
      <score>25</score>
      <location>examples/simple_project/features/support/hooks.rb:13</location>
      <rules>
        <rule>
          <phrase>Hook without a begin/rescue. Reduced visibility when debugging.</phrase>
          <score>1</score>
        </rule>
      </rules>
      <type>After</type>
    </hook>
    <hook>
      <start_line>17</start_line>
      <tags>
        <tag>~@tag,@tag2</tag>
        <tag>@tag3</tag>
      </tags>
      <parameters/>
      <code>
        <code>puts "after @tag ran"</code>
      </code>
      <score>25</score>
      <location>examples/simple_project/features/support/hooks.rb:17</location>
      <rules>
        <rule>
          <phrase>Hook without a begin/rescue. Reduced visibility when debugging.</phrase>
          <score>1</score>
        </rule>
      </rules>
      <type>After</type>
    </hook>
    <hook>
      <start_line>21</start_line>
      <tags/>
      <parameters/>
      <code>
        <code>puts "closing down."</code>
      </code>
      <score>25</score>
      <location>examples/simple_project/features/support/hooks.rb:21</location>
      <rules>
        <rule>
          <phrase>Hook without a begin/rescue. Reduced visibility when debugging.</phrase>
          <score>1</score>
        </rule>
      </rules>
      <type>at_exit</type>
    </hook>
  </hooks>
  <cataloged>true</cataloged>
</cuke_sniffer>