...clean out the database before each example. Use :transaction where possible. Use :deletion for Selenium features or when you have a lot of MyISAM tables. Understanding database cleaning
...to clean out your test database after each test, so the next test can start from a blank database. To do so you have three options: Wrap each test in...
Capybara will match elements outside of a page's tag. For example, the step definitions below match nodes in a page's : Then /^my browser should auto-discover the "([^"]*)" feed...
page.should have_css( 'head link' + '[rel="alternate"]' + "[href='http://www.example.com/#{slug}/feed.rss']" + '[title="RSS feed (all cards)"]' + '[type="application/rss+xml"]', visible: false ) end Then /^my browser should...
When you create e.g. a sidebar box that contains headlines and paragraphs, the final paragraph's margin in that box will create an undesired 'bottom padding' inside that box.
...is a Sass mixin that you can apply to such boxes. It makes the last child's bottom margin disappear: =hide_last_margin >*:last-child margin-bottom: 0
...nested projects. Then it's really helpful! This makes use of the CDPATH variable. Similar to the PATH variable, which holds the list of directories which are searched for executables...
Then add the following to your ~/.bashrc: export CDPATH=.:~/.bookmarks/ function mark { ln -sr "$(pwd)" ~/.bookmarks/"$1" } # Always resolve symbolic links (e.g. for bookmarks) alias cd="cd -P"
When using custom properties in your stylesheets, you may want to set a specific property value to an existing variable in your SASS environment. A pratical example would be a...
...existing quotes, you may use the meta.inspect() function: @use "sass:meta" $my-cool-font: "Roboto", sans-serif :root --font-family-sans-serif: #{meta.inspect($my-cool-font)} Unfortunately, the output of...
...default Ruby, RubyMine will give you incorrect inspections, for example.\ Here is how to switch which Ruby you use in RubyMine. File → Settings (Or press Ctrl+Alt+S)
...SDK and Gems" from the left pane Switch your "Ruby interpreter". Though it may seem you are changing a global setting here, this is in fact a per-project setting...
find . -cnewer other_file This can be used to check against a specific timestamp, too. This is how you check for all files modified today (since...
...the current bash's PID so you will get some file like /tmp/12345 that stays the same for the current shell. This allows you to check against this file again...
We use CarrierWave in many of our projects to store and serve files of various formats - mostly images. A common use case of CarrierWave's DSL is to "process" the...
...versions", for example different resolutions of the same image. Now we could go one step further: What if we want to create versions that have a different file extension than...
...take a long time, so we only want to compile when needed. This card shows what will cause Webpacker (the Rails/Webpack integration) to compile your assets. When you run a...
While development it is recommended to boot a webpack dev server using bin/webpack-dev-server. The dev server compiles once when booted. When you access your page on localhost before...
...you want to manually check if e-mail delivery works on a machine by sending an e-mail you can run the following: mail -s Test someone@example.com < /dev/null
...send an empty e-mail with "Test" as its subject to someone@example.com. If you want it to contain a message body, call mail -s Test someone@example.com only; the mail application...
Adobe no longer supports their PDF reader on Linux and the official page does not offer it for download. \ However, some files may not display properly on Ubuntu's default...
...PDF reader Evince or PDF forms may not work as expected. Hence, you may still need to use it. Here is how to install the Adobe Reader (acroread) if you...
Note that we used $ and ^ to explicitly look at the end and start of the filenames...
...git pull won't know its remote version. You could use difficult commands to set up a branch's tracking but it's easier to...
...just push it like this: git push -u From the documentation on git push: -u, --set-upstream For every branch that is up to date or successfully pushed, add upstream...
A perfect implementation of the wrong specification is worthless. By the same principle a beautifully crafted library with no documentation is also damn near worthless. If your software solves the...
...wrong problem or nobody can figure out how to use it, there's something very bad going on. Fine. So how do we solve this problem? It's easier than...
Selenium cannot reliably control a browser when its window is not in focus, or when you accidentally interact with the browser frame. This will result in flickering tests, which are...
...tests to complete. The solution is to run Selenium inside a VNC session so the Selenium-controlled browser doesn't pop up over your main work area. Understanding issues with...
Here's a pretty useful steps that hasn't made it into Spreewald yet. It is best used with the auto-mapper for BEM classes in features/support/selectors.rb
...above [selector] element When /^I hover above (.*) element$/ do |selector| page.find(selector_for(selector)).hover end Example: When I hover above the album's image element → triggers a hover event...
...binary, do not install Ubuntu's node package. Instead, you need to create a symlink that points to the binary one of the nodejs package: sudo ln -s /usr/bin/nodejs /usr/bin/node...
...You probably already installed NodeJS. In case you did not: sudo apt-get install nodejs If you already installed the node Ubuntu package, bower will just do nothing (i.e. not...
...disable hiding URL parameters, open up Tools → Preferences (Ctrl+F12) → Advanced → Browsing and check "Show full web address in address field". No need to touch opera:config. The badge that...
...displays the page's "zone" (Web, Secure, Opera, ...) will be shrinked so you can still see a yellow lock for proper SSL connections, etc...
...but REST itself - in a nutshell. so here's a new angle i've started playing with: "REST Upside Down...
I was annoyed that RubyMine's autocompletion did not work via Ctrl+Space for me. In fact, it did not work in any application. Turns out that keyboard combination was...
...hijacked by Ubuntu as it's the default for switching input languages (i.e. keyboard layouts). If you use only 1 language/layout, you will not notice except for the key not...
You must reconfigure the guest so it will get its own IP address: Shutdown the guest In the guest's VirtualBox settings, choose Network and switch the network adapter type...
...Unix) or ipconfig (Windows) You can now connect to this IP address using HTTP, SSH, etc. Note that by doing this your VirtualBox guest is fully exposed on the local...
...not play nice with gnome-open. You can fix the problem by uninstalling it: sudo apt-get remove exo-utils Note that this may also uninstall XFCE tools like xfce4...
To reduce download time, application servers usually serve content using gzip compression, if the browser supports it. When using a tool like Wget to explicitly download an application's response...
...the server responds with the uncompressed version: wget http://example.com/ If you are curious about the compressed file's size, pass the corresponding HTTP header: wget --header="accept-encoding: gzip...
...below if you are affected by the issue: The field's content "" did not match "some-text" (RSpec::Expectations::ExpectationNotMetError) Issue with headless Chrome After removing the line above in...
...it could happen that the tests are no longer running in headless mode. Updating the selenium-webdriver gem to >= 3.13.0 fixed the problem. Issue with old Capybaras