...using inheritance, modules, traits or partials. When you reuse behavior you want to reuse tests as well. You are probably already reusing examples in unit tests. Unfortunately it is much...

...harder to reuse code when writing integration tests with Cucumber, where you need to express yourself with Gherkin and step definitions instead of Ruby classes and methods.

web.archive.org

...you use that "db count" and process the loaded elements. A common example is tests: Imagine a test that sets up a few records and finishes the test setup by...

...records have loaded (i.e. cached) their associations too early and now are missing elements. Tests relying on the setup will fail, because they will operate on the loaded records. You...

github.com

...you are using a driver that supports it (e.g. Selenium, not the default Rack::Test driver). Consider the following HTML: One Two With some CSS: .test1 { display: block } .test2 { display...

...Default: visible: :visible As described above, by default Capybara finds only visible elements. find('.test1') finds the .test1 element find('.test2') raises a Capybara::ElementNotFound error, as the .test2 element...

masilotti.com

Slow test suites are a major pain point in projects, often due to RSpec and FactoryBot. Although minitest and fixtures are sometimes viewed as outdated, they can greatly improve test...

...fixtures, and while it required some initial refactoring and establishing good practices, the faster test suite was well worth it! Stick with me to explore how these tools might actually...

github.com

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. Screenshots are saved...

...Manually saving a page Additionally you can trigger the same behavior manually from the test using Capybara::Session#save_and_open_page and Capybara::Session#save_screenshot. Use Rails' built...

...KB or Zousan. You can even polyfill Promise with jQuery itself using 339 bytes. Testing async code We want to test this code: whenLoaded = new Promise(function(resolve, reject) { $(resolve...

...function foo() { } function callFooWhenLoaded() { whenLoaded.then(foo) } This test fails: describe('callFooWhenLoaded()', function() { it('calls foo()', function() { spyOn(window, 'foo') callFooWhenLoaded() expect(foo).toHaveBeenCalled() }) }) The test fails since we're expecting...

...not part of the same network. Maybe you want to use your phone to test a web page, but are only in a guest WiFi. In the past, we often...

...local machine on port 3000. This can also be useful if you need to test with TLS, without having to jump through the hoops of creating some self-signed TLS...

...has the line gem 'rails', '~>5.2'). I also experienced that doing upgrades per group (test, development) are easier to do. Thus --groups might also be helpful. $ bundle outdated --strict --groups...

...newest 5.2.6, installed 5.2.4.6) ... ===== Group "development" ===== * binding_of_caller (newest 1.0.0, installed 0.8.0) * parallel_tests (newest 3.7.3, installed 2.32.0) * query_diet (newest 0.7.0, installed 0.6.2) * spring (newest 2.1.1, installed...

...and show a Google map centered around it Now write an E2E feature that tests that the map shows the correct location. Hints The purpose of this lesson to learn...

...should expose an API that lets you query the current map position from your test. Your test can use evaluate_script(...) to talk with that JavaScript. Note Adding leaflet to...

Code splitting is a feature of esbuild that can keep huge libraries out of the main bundle. How code splitting...

...created. When editing a movie there is a "Year" field that can be changed. Testing: Learn techniques Write tests for both exercises. Write multiple variants, each using a different approach...

...you minimize the number of lines of code that now no longer run during tests? Mock out the network request to the API using Webmock Mock out the network request...

...a MIT-based polyfill called Hyphenopoly. It applies JS-based hyphenation if a feature test shows that CSS based hyphenation is not supported for the given locale. Note that Hyphenopoly...

...can no longer search for the full word in the pasted text. Note that test browsers will also see the soft hyphens, which makes testing uncomfortable. Automatic insertion of soft...

We use Selenium WebDriver integrated with Cucumber/Capybara for full-stack integration testing. Try and use it Your forked MovieDB should already include a feature that uses a real browser. Add...

...the @javascript tag to your other features to test it yourself. When you run your cucumber feature now with NO_HEADLESS=1 geordi cucumber, you should see a browser opening...

...your config/database.yml: default: &default adapter: postgresql # ... variables: statement_timeout: 10s # or ms, min, etc Test that it works: ActiveRecord::Base.connection.execute("show statement_timeout;").map { |row| row } => [{"statement_timeout"=>"10s"}]

...by adjusting your config/database.yml: default: &default adapter: mysql2 # ... variables: max_execution_time: 10000 # ms Test that it works: begin ActiveRecord::Base.connection.execute("SELECT 1 WHERE sleep(15)") rescue ActiveRecord::StatementTimeout => e...

...ihm über die Dinge, die du im Netzwerktab herausfinden kannst. Starte dir einen LXD Testcontainer mit Ubuntu. Installiere Nginx und erstelle eine Konfiguration die folgende Eigenschaften erfüllt:

...sie dir in die /etc/hosts mit der entsprechenden IP einträgst. Installiere Docker auf deinem Testcontainer und starte httpbin auf Port 8080. Du kannst dafür folgendes Kommando verwenden:

makandra dev

.../public/assets-test/', '/tmp/', ], 2. Report all existing offenses and exclude them initially Add an RSpec test, which runs ESLint (also during a full RSpec test run), e.g. in spec/eslint_spec.rb: require 'open3...

expect(status.success?).to eq(true), failure_message end end Run the test or simply run yarn run eslint . from your console to check all files.

...T06:22:17.484221 #2698200] INFO -- : [4cdad7a4-8617-4bc9-84e9-c40364eea2e4] test I, [2024-01-21T06:22:17.484221 #2698200] INFO -- : [4cdad7a4-8617-4bc9-84e9-c40364eea2e4] more

...T06:22:17.484221 #2698200] INFO -- : [6e047fb3-05df-4df7-808e-efa9fcd05f87] test I, [2024-01-21T06:22:17.484221 #2698200] INFO -- : [6e047fb3-05df-4df7-808e-efa9fcd05f87] more

...authorized users only 3. Using the same storage folder for multiple Rails environments or test processes This one affects your developers. If an image with ID 4 always ends up...

...as public/system/images/4.jpg, multiple Rails environments (e.g. development and test) will randomly see and overwrite each other's files. See Always store your Paperclip attachments in a separate folder per environment...

The Rails sandbox In development, Rails' sandbox mode might be useful. Testing and the migration codebase The migration code should live in some subdirectory in the project...

...steps, instead of implementing some complicated Sidekiq batch logic etc. You need to write tests as you will usually have to refactor your code several times, and need to know...

makandra dev

...No power to ['creatable_cards'] The reason for this behavior is that the Capybara test server is running in another thread, and the RSpec thread can't "see" the exception...

...not write such assertions in feature specs anyway. Instead, you could: write the same test as a request spec expect what the user sees in this situation, e.g. an error...

...your timestamp holds milliseconds, they are discarded. While that is fine for humans, automated tests may fail because of that: If two tests run within the same second frame, your...

...application's response will have the same Last-Modified header value, even when both tests actually have different data. While test browsers usually clear all data (cookies, LocalStorage, etc.), at...

makandra Curriculum

...and following the guidelines from the referred card above. If you are debugging rspec tests, you can use rspec -b to print the full stack trace. If you encounter problems...

...Rails server's log ..or tail -f log/test.log to see the same for RSpec tests! Different debugging libraries Ruby has always had multiple gems for debugging. When you're working...

Erstelle ein SNS Topic und erstelle eine E-Mail Subscription zu dir. Teste ob das Topic funktioniert, indem du mit der AWS-CLI eine Nachricht published.

...eine Rule einrichtest, die du leicht brechen und wieder reparieren kannst, z.B. restricted-ssh. Teste ob du die Regel brechen kannst. Richte AWS Config so ein, dass eine Benachrichtigung an...

...cookies. These are normal, signed and encrypted cookies. By following the happy path of testing a web application, that is only the main use-case is tested as a integration...

...test and the rest as isolated (more unit like) tests, one might want to test some cookie dependent behavior as a request, helper or model spec too. Since the rspec...