Haml HTML generated by Haml 5 HTML generated by Haml 6 %button(up-test) %button(up-test=true) %button(up-test=false) %button(up-test=nil) %button(up-test...
same %button(up-test='false') same %button(up-test='') same Extending the list of attributes considered "boolean" You can add to the list of "boolean attributes", but please do...
When testing JavaScript functionality in Selenium (E2E), you may need to access a class or function inside of a evaluate_script block in one of your steps. Capybara may only...
...are exporting your definition(s) in Webpacker, these won't be available in your tests (and neither in the dev console). The following principles/concepts also apply to Sprockets.
I am talking about development speed. When your application starts growing and you start adding gems, it starts to take...
...write the password hash to a file: echo firstname.lastname:$2y$05$4JXxd2GM/J2...9c3KJmFS > htpass_test Check, if it is correct: htpasswd -v htpass_test firstname.lastname You probably should not use...
The step definition below lets you say: Then I should see a field "Password" But I should not see a...
This is surprisingly difficult when there is a with the same text on the page, but you really want to...
The step definition below allows you to write: Then I should see a link labeled "Foo" But I should not...
Use bundler > 1.15 to fix Gem::LOADED_SPECS_MUTEX (NameError). Given the following project: ruby -v ruby 1.8.7
Great presentation about writing Javascript like you write everything else: Well-structured and tested. JavaScript is no longer a toy language. Many of our applications can’t function without it...
...and love work just as well in JavaScript as they do any other language. Test driven development forces us to write modular, decoupled code...
Sending a testmail from a server with a configured exim is easy as pie. From your usershell: tell exim that we want to send a mail to an recipient and...
The step definitions below allow you to write this in both Webrat and Capybara: When I follow "Download as PDF...
Code splitting is a feature of esbuild that can keep huge libraries out of the main bundle. How code splitting...
Don't simply test for the presence of the magic Paperclip attribute, it will return a paperclip Attachment object and thus always be true: - if user.photo.present? # always true
Reading user input in console applications is usually done using Kernel#gets. Stubbing that can be a bit hairy.
Spreewald has steps that let you test that e-mails have been sent, using arbitrary conditions in any combination. The attached file is for legacy purposes only...
Here's a pretty useful steps that hasn't made it into Spreewald yet. It is best used with the...
...seems to forget cookies / sessions when you run it with Selenium check if the test travels in time like here: Given the date is 2017-10-20
Copy the attached file to features/support. This gets you a convenience method: Capybara.javascript_test? Is true for Selenium, capybara-webkit, Poltergeist and a custom driver called :chrome (which we sometimes...
Our rcov:all task for aggregated RSpec/Cucumber coverage was overhauled extensively. Among other things it now works for Rails 2...
capybara-lockstep can help you with flaky end-to-end tests: This Ruby gem synchronizes Capybara commands with client-side JavaScript and AJAX requests. This greatly improves the stability of...
...a full-stack integration test suite, even if that suite has timing issues...
Have you ever mistaken one Rails environment for another? The attached helper will help you to never do it again...
If you’re testing the behavior of deprecated code in your Ruby project, the warning messages littered throughout your spec output is incredibly noisy. You could silence all warnings with...
...an important warning in one of your dependencies. It’s tempting to remove the tests altogether (the code will be burned soon too, right?), but I figured out something a...
Just install the texlive-xetex package: sudo apt-get install texlive-xetex Running integration tests without texlive-xetex will produce an error during xelatex execution: RTeX::Document::ExecutableNotFoundError
Insomnia is a GUI tool to help you communicating with an API. There are also other tools to do this...