Machinist's #make breaks on has_many associations when defining method `empty?`
Custom empty? on a has_many model can break Machinist collection building, creating records with the wrong foreign key. Use explicit association assignment instead.
Fix: Cucumber won't start though cucumber.yml is correct
cucumber.yml may be valid while rerun.txt is corrupted by parallel Cucumber workers writing at the same time, preventing Cucumber from starting.
Stubbed class methods in RSpec 1 remain stubbed in other examples
RSpec 1.x can leave stubbed class methods in place between examples, causing order-dependent failures when spec file evaluation changes.
Run a single Cucumber feature
Run one Cucumber feature file directly with script/cucumber, or invoke it through rake when speed is less important.
Fixing AfterAll TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'
Jasmine describe() throws AfterAll TypeError: Failed to execute 'appendChild' on 'Node' when an object is passed instead of a string.
Find an ActiveRecord by any column (useful for Cucumber steps)
Finds a record by any string or number across columns, making Cucumber step definitions more flexible. The bang variant raises ActiveRecord::NotFound when nothing matches.
Cucumber fails without giving error message
Cucumber can fail with little or no visible error output; a backtrace, verbose formatter, or debug mode can expose the underlying cause.
Monitoring a network connection from a remote host
Network failures between a host and a single target can be isolated with ping checks and an automatic mtr report by email.
Always show the page if there is an error in Cucumber
Cucumber failures can open the current page in a browser automatically, avoiding repeated "Then show me the page" reruns and speeding up debugging.
RSpec 2.6 supports "any_instance" now
any_instance stubbing and expectations now work in RSpec 2.6, enabling should_receive and stub on instances created inside code.
Nested Spreewald patiently blocks are now patient
Nested patiently blocks now wait independently in Spreewald, preventing detached DOM failures when with_scope reuses cached elements.
Spreewald: patiently blocks must not change variables from the surrounding scope
patently blocks must keep local variables inside the block; rebinding an outer variable breaks retries because later attempts reuse the changed value.
Cucumber step to manually trigger javascript events in Selenium scenarios (using jQuery)
Selenium can miss browser events such as change during form input; a Cucumber step can fire jQuery-registered events manually with execute_script.
Machinist blueprints: Do not set associations without blocks
Association values in Machinist blueprints need blocks so Project.make runs per blueprint instance, not once at parse time when RSpec loads.
Using RSpec's late resolving of "let" variables for cleaner specs
Lazy let evaluation keeps RSpec examples shorter when a setup call has many required arguments, and lets stubs change the result before the value is used.
Cucumber 4 and VCR integration
VCR integration with Cucumber 4 breaks when use_scenario_name: true is enabled, causing an undefined feature method error in Cucumber::RunningTestCase::TestCase.
Do not use "find" on Capybara nodes from an array
Capybara find can return incorrect matches when called on nodes from all, especially with text filters. Use a full selector on the page to scope the search reliably.
RSpec and Cucumber: Shorthand syntax to run multiple line numbers in the same file
Run multiple example or scenario line numbers from one file with rspec or cucumber, using colon-separated targets instead of separate commands.
Perform Sidekiq jobs immediately in development
Run Sidekiq jobs synchronously in development to avoid a separate worker process and benefit from code reloading.
RSpec: How to compare ISO 8601 time strings with milliseconds
Rails JSON serializes times with milliseconds, so iso8601 and to_json can differ in RSpec expectations. Using to_json keeps time string comparisons matching.
An auto-mapper for BEM classes in Cucumber selectors
BEM-style selectors can be generated from plain-language Cucumber locators, reducing repetitive typing when mapping readable step text to CSS classes.
How to use triple quotes inside a Cucumber docstring
Cucumber docstrings break when nested triple double quotes appear inside the text; escaping or a Transform can preserve embedded quote markers.
Cucumber factory 1.10.0 released
Cucumber factory now infers the model class from the factory, so steps can use natural names like admin instead of user (admin).
Spreewald: Click on an element with a CSS selector
Clicking elements by raw CSS selector is brittle; selector_for lets feature steps use plain English names like sidebar instead.