...vcr, a cassette with an automatically determined name will be generated on the first test run and replayed on subsequent runs: Spec: # spec/models/ / _spec.rb describe ModelName::ExampleApi do describe ' ' do...
...Model Serializer (AMS) to serializer our Active Record models to JSON. JSON Schema to test the responses of our server. SwaggerUI to document the API. It worked The concept worked...
...Rails application, that has no UI components (only the documentation) and therefore no integration tests, the tests are really fast. With ~25 endpoints the tests are finished within 22 seconds...
Your development machine is usually on a very good network connection. To test how your application behaves on a slow network (e.g. mobile), you can simulate limited bandwidth. Chrome
Geordi can also be configured to automatically update chromedriver each time you run tests. For that, edit the global configuration file ~/.config/geordi/global.yml and add the line auto_update_chromedriver...
...by running man wkhtmltopdf. However, you should always have quiet: true to keep your test output and logs clean. How to express page breaks, headers, footers, etc. There are concepts...
...Mysql::Error: Column 'created_at' in order clause is ambiguous Unless you have a test covering this particular case, you won't notice this until after you deployed.
Capybara-screenshot can automatically save screenshots and the HTML for failed Capybara tests in Cucumber, RSpec or Minitest. Requires Capybara-Webkit, Selenium or poltergeist for making screenshots. They're saved...
...start playing video or audio. E.g. if you attempt to call video.play() in a test, the call will reject with a message like this: NotAllowedError: play() failed because the user...
...with the document first. https://goo.gl/xX8pDD Workaround To pretend document interaction in a test you can create an element, click on it, and remove the element again. This unblocks...
...wipes the database just when it is called. The above configurations make sure the test database(s) are emptied up-front. The :transaction strategy does not work with Selenium.
...see Understanding database cleaning strategies in tests...
@writer.puts "Started: #{i}" sleep 0.01 @writer.puts "Finished: #{i}" end @writer.close end end @writer.close # test whether we always get alternating "Started" / "Finished" lines lines = [] @reader.each_line { |line| lines << line } lines.should...
...configuration.rb With this approach you have a stronger decoupling in your application: Your unit tests might use Webmock or VCR for the lib/github_client part, but your application only talks to...
...assist users with disabilities. It is also very practical to label things for integration tests. With the auto-mapper below you can write this: Then I should see "Bruce" within...
...do not have to call force_extension(...) in your version block. If you have tests for file processors (e.g. for ClamAV virus scans via process: :virus_scan) and you have...
See the Spreewald README for more cool features. You can use it to test links that were opened with a link_to(..., :target => '_blank') link or other ways that...
...create new tabs or windows. Important This only works with Selenium enabled tests...
...Just increase the last index when proceeding to the next example. Handy when the test file frequently changes, e.g. because before blocks are modified. The line number approach would easily...
...should just set verify_ssl: false or similar. This is only okay-ish for testing something in development. Note that there are services like badssl.com to test against weird SSL...
...case, too. Still, a certificate store is clearer and more versatile. Protip: You can test certificate chains with services like whatsmychaincert.com. Bonus info: when using curl on the command line...
Then I should see a table with exactly the following rows: ... Testing tables with colspan or rowspan Cucumber tables are required to have the same number of...
...cells in every row. This is unfortunate when testing a table that uses colspan or rowspan attributes. The attached step definition offers a workaround for this: Wrap the entire table...
...a habit of using this regularly, as it has high potential to make your tests hard to read and understand. You're often better of by using factories, generally different...
...implementation patterns, or just duplicating some of your tests' code. In some situations this has benefits, like making complex setups simpler if you want to modify only one aspect.
...only fail if no stories could be found at all. Breaking changes Removed VNC test browser support for integration tests – Headless Chrome has matured and is almost a drop-in...
...your own risk. If you plan to use it in production, please add some tests - the code above was written as part of hackathon. The tts-1-hd model used...
...including and hash_including matches with red even they should be green if a test fails. You need to find out manually where the result differs from the expectation.
# Usage: linearcommits FOO-123456 # Alternative usage: linearcommits https://linear.app/some-workspace/issue/FOO-123456 function linearcommits { if test "$1" then local LINEAR_ID=$(echo "$1" | grep "[^/]*$" -o) # Extract linear ID from URLs
Add the following to ~/.config/mimeapps.list: x-scheme-handler/rubymine=rubymine.desktop Step 3: Test your desktop entry Does gio mime x-scheme-handler/rubymine suggest Registered applications: rubymine.desktop?
...as frozen. Rspec mocks (e.g. using partial doubles with receive(partial_double).to ...) in tests would raise the following error (just imagine how hard debugging can be): ArgumentError: Cannot proxy...