41554 blogs · [ { "id": "01a0c55a-7698-73f4-b90c-c0153ea9cb15", "title": "Nested factories in Factory Bot: what they are and how to use them", "url": "https://www.codewithjason.com/factory-bot-nested-factories/", "published_at": "2021-01-13T02:47:48+00:00" }, { "id": "01a0c562-c365-7046-b3a8-1bd4481dca67", "title": "How to run RSpec with headless Chrome/Chromium on Alpine Linux", "url": "https://www.codewithjason.com/run-rspec-headless-chrome-chromium-alpine-linux/", "published_at": "2020-12-28T22:14:32+00:00" }, { "id": "01a0c562-c365-7046-b3a8-1bd448939b39", "title": "How to run a PostgreSQL database in a Docker container", "url": "https://www.codewithjason.com/run-postgresql-database-docker-container/", "published_at": "2020-12-18T02:39:26+00:00" }, { "id": "01a0c562-c365-7046-b3a8-1bd4496867b5", "title": "Dissecting Factory Bot’s factory definition syntax", "url": "https://www.codewithjason.com/dissecting-factory-bots-factory-definition-syntax/", "published_at": "2020-12-17T15:05:59+00:00" }, { "id": "01a0c562-c365-7046-b3a8-1bd449b26528", "title": "The purpose of private methods and when to use them", "url": "https://www.codewithjason.com/purpose-private-methods-use/", "published_at": "2020-12-15T15:01:20+00:00" }, { "id": "01a0c562-c365-7046-b3a8-1bd44ab066e9", "title": "Capybara expect page to have button", "url": "https://www.codewithjason.com/capybara-expect-page-to-have-button/", "published_at": "2020-12-02T17:22:38+00:00" }, { "id": "01a0c562-c365-7046-b3a8-1bd44aec4b1f", "title": "Should I be doing test-driven development?", "url": "https://www.codewithjason.com/test-driven-development/", "published_at": "2020-11-09T16:57:22+00:00" }, { "id": "01a0c562-c365-7046-b3a8-1bd44b7c492d", "title": "How do I add tests to an existing Rails project?", "url": "https://www.codewithjason.com/add-tests-existing-rails-project/", "published_at": "2020-11-08T11:10:50+00:00" }, { "id": "01a0c562-c365-7046-b3a8-1bd44c572629", "title": "What are all the Rails testing tools and how do I use them?", "url": "https://www.codewithjason.com/rails-testing-tools/", "published_at": "2020-11-07T12:57:19+00:00" }, { "id": "01a0c562-c365-7046-b3a8-1bd44d1c9ab4", "title": "What are the different kinds of Rails tests and when should I use each?", "url": "https://www.codewithjason.com/different-kinds-rails-tests-use/", "published_at": "2020-11-06T20:35:54+00:00" }, { "id": "01a0c562-c365-7046-b3a8-1bd44e16bd8d", "title": "What level of test coverage should I shoot for?", "url": "https://www.codewithjason.com/test-coverage/", "published_at": "2020-11-04T20:33:21+00:00" }, { "id": "01a0c56a-4747-717b-ac89-a0a579156b6e", "title": "Which test framework should I learn, RSpec or Minitest?", "url": "https://www.codewithjason.com/test-framework-learn-rspec-minitest/", "published_at": "2020-11-01T15:25:39+00:00" }, { "id": "01a0c56a-4747-717b-ac89-a0a579bc7b7c", "title": "How I set up a Rails application for testing", "url": "https://www.codewithjason.com/set-rails-application-testing/", "published_at": "2020-10-22T18:08:54+00:00" }, { "id": "01a0c56a-4748-739a-92af-74c1211d0d42", "title": "How I make sure I really understand a feature before building it", "url": "https://www.codewithjason.com/make-sure-really-understand-feature-building/", "published_at": "2020-10-07T11:10:20+00:00" }, { "id": "01a0c56a-4748-739a-92af-74c1219f276a", "title": "The difference between let, let! and instance variables in RSpec", "url": "https://www.codewithjason.com/difference-let-let-instance-variables-rspec/", "published_at": "2020-09-08T19:51:35+00:00" }, { "id": "01a0c56a-4748-739a-92af-74c12252adea", "title": "When to refactor", "url": "https://www.codewithjason.com/when-to-refactor/", "published_at": "2020-09-03T16:42:34+00:00" }, { "id": "01a0c56a-4748-739a-92af-74c1227d9519", "title": "Understanding Ruby blocks", "url": "https://www.codewithjason.com/understanding-ruby-blocks/", "published_at": "2020-08-24T15:00:55+00:00" }, { "id": "01a0c56a-4748-739a-92af-74c12280a073", "title": "How to Dockerize a Rails application (“hello world” version)", "url": "https://www.codewithjason.com/dockerize-rails-application/", "published_at": "2020-08-06T21:34:57+00:00" }, { "id": "01a0c56a-4748-739a-92af-74c122adb375", "title": "How to Dockerize a Sinatra application", "url": "https://www.codewithjason.com/dockerize-sinatra-application/", "published_at": "2020-07-27T14:19:49+00:00" }, { "id": "01a0c56a-4748-739a-92af-74c123a2b645", "title": "Intro to logical arguments for programmers", "url": "https://www.codewithjason.com/logical-arguments-programmers/", "published_at": "2020-07-12T23:56:08+00:00" }, { "id": "01a0c56a-4748-739a-92af-74c1240a8c69", "title": "Why I don’t use Shoulda matchers", "url": "https://www.codewithjason.com/dont-use-shoulda-matchers/", "published_at": "2020-07-07T02:45:26+00:00" }, { "id": "01a0c572-9486-7377-bc70-616cf2c808e7", "title": "Lessons I learned converting all my database IDs to UUIDs", "url": "https://www.codewithjason.com/lessons-learned-converting-database-ids-uuids/", "published_at": "2020-06-10T14:56:10+00:00" }, { "id": "01a0c572-9486-7377-bc70-616cf2f72796", "title": "Why use Factory Bot instead of creating test data manually?", "url": "https://www.codewithjason.com/why-use-factory-bot/", "published_at": "2020-06-01T13:31:40+00:00" }, { "id": "01a0c572-9486-7377-bc70-616cf33a5822", "title": "How I set up Factory Bot on a fresh Rails project", "url": "https://www.codewithjason.com/set-factory-bot-fresh-rails-project/", "published_at": "2020-05-05T04:06:35+00:00" }, { "id": "01a0c572-9486-7377-bc70-616cf3dcf925", "title": "The difference between system specs and feature specs", "url": "https://www.codewithjason.com/difference-system-specs-feature-specs/", "published_at": "2020-04-28T17:27:50+00:00" }, { "id": "01a0c572-9486-7377-bc70-616cf43c3929", "title": "My method of systematic troubleshooting", "url": "https://www.codewithjason.com/method-systematic-troubleshooting/", "published_at": "2020-04-24T21:24:03+00:00" }, { "id": "01a0c572-9486-7377-bc70-616cf5063c83", "title": "How to restart Sidekiq automatically for each deployment", "url": "https://www.codewithjason.com/restart-sidekiq-automatically-deployment/", "published_at": "2020-04-05T10:56:51+00:00" }, { "id": "01a0c572-9486-7377-bc70-616cf5b447a1", "title": "How to launch an EC2 instance using Ansible", "url": "https://www.codewithjason.com/launch-ec2-instance-using-ansible/", "published_at": "2020-03-31T20:38:22+00:00" }, { "id": "01a0c572-9486-7377-bc70-616cf6386d69", "title": "How to do multi-step forms in Rails", "url": "https://www.codewithjason.com/rails-multi-step-forms/", "published_at": "2020-03-23T18:32:31+00:00" }, { "id": "01a0c572-9486-7377-bc70-616cf72a06b9", "title": "Git workflow anti-patterns", "url": "https://www.codewithjason.com/git-workflow-anti-patterns/", "published_at": "2020-03-20T16:09:34+00:00" }, { "id": "01a0c572-9486-7377-bc70-616cf7f1c2ee", "title": "When used intelligently, Rails concerns are great", "url": "https://www.codewithjason.com/used-intelligently-rails-concerns-great/", "published_at": "2020-02-20T21:09:42+00:00" }, { "id": "01a0c580-5260-73c6-8409-f5884570ad83", "title": "My Git aliases", "url": "https://www.codewithjason.com/my-git-aliases/", "published_at": "2020-02-19T21:57:54+00:00" }, { "id": "01a0c580-5260-73c6-8409-f58846124f88", "title": "Understanding Rails secrets/credentials", "url": "https://www.codewithjason.com/understanding-rails-secrets-credentials/", "published_at": "2020-02-13T03:04:00+00:00" }, { "id": "01a0c580-5260-73c6-8409-f588467297a8", "title": "What kinds of Rails tests I write and what kinds I don’t", "url": "https://www.codewithjason.com/kinds-rails-tests-write-kinds-dont/", "published_at": "2020-02-03T18:55:49+00:00" }, { "id": "01a0c580-5260-73c6-8409-f5884725ec21", "title": "How to deploy a Ruby on Rails application to AWS Elastic Beanstalk", "url": "https://www.codewithjason.com/deploy-ruby-rails-application-aws-elastic-beanstalk/", "published_at": "2020-01-31T17:02:15+00:00" }, { "id": "01a0c580-5260-73c6-8409-f58847e49427", "title": "Where to start with introducing TDD to a new Rails app", "url": "https://www.codewithjason.com/start-introducing-tdd-new-rails-app/", "published_at": "2020-01-17T15:12:38+00:00" }, { "id": "01a0c580-5260-73c6-8409-f5884878f8a9", "title": "Extracting a tidy PORO from a messy Active Record model", "url": "https://www.codewithjason.com/extracting-tidy-poro-messy-active-record-model/", "published_at": "2019-12-30T19:06:42+00:00" }, { "id": "01a0c580-5260-73c6-8409-f588487e2293", "title": "My top five Rails performance tips for performance noobs", "url": "https://www.codewithjason.com/rails-performance-tips/", "published_at": "2019-12-29T21:58:08+00:00" }, { "id": "01a0c580-5260-73c6-8409-f588497121de", "title": "How to perform hotfixes without side effects or extra stress", "url": "https://www.codewithjason.com/hotfixes/", "published_at": "2019-12-19T16:00:05+00:00" }, { "id": "01a0c580-5260-73c6-8409-f5884a621846", "title": "Writing software isn’t like building a house, it’s like writing a novel", "url": "https://www.codewithjason.com/programming-novel/", "published_at": "2019-12-13T20:38:14+00:00" }, { "id": "01a0c580-5260-73c6-8409-f5884ab2e6d5", "title": "How to set up an RDS database for Rails on EC2", "url": "https://www.codewithjason.com/set-rds-database-rails-ec2/", "published_at": "2019-12-10T20:09:28+00:00" }, { "id": "01a0c58e-2ea7-7150-b1c6-f2f6af4e2fbc", "title": "How to set up Rails secrets", "url": "https://www.codewithjason.com/set-rails-secrets/", "published_at": "2019-12-10T03:27:03+00:00" }, { "id": "01a0c58e-2ea7-7150-b1c6-f2f6aff18ffa", "title": "How to add a Rails application to an nginx server", "url": "https://www.codewithjason.com/add-rails-application-nginx-server/", "published_at": "2019-12-09T21:53:54+00:00" }, { "id": "01a0c58e-2ea7-7150-b1c6-f2f6b063205b", "title": "How to install nginx and Passenger on an EC2 instance for Rails hosting", "url": "https://www.codewithjason.com/install-nginx-passenger-ec2-instance-rails-hosting/", "published_at": "2019-12-06T21:25:03+00:00" }, { "id": "01a0c58e-2ea7-7150-b1c6-f2f6b1499740", "title": "How to deploy a Ruby on Rails application to AWS", "url": "https://www.codewithjason.com/how-to-deploy-a-ruby-on-rails-application-to-aws/", "published_at": "2019-12-06T20:00:28+00:00" }, { "id": "01a0c58e-2ea7-7150-b1c6-f2f6b157e953", "title": "How to launch an EC2 instance for hosting a Rails application", "url": "https://www.codewithjason.com/launch-ec2-instance-hosting-rails-application/", "published_at": "2019-12-06T19:43:47+00:00" }, { "id": "01a0c58e-2ea7-7150-b1c6-f2f6b1a9db95", "title": "How I approach test coverage metrics", "url": "https://www.codewithjason.com/approach-test-coverage-metrics/", "published_at": "2019-11-20T14:10:13+00:00" }, { "id": "01a0c58e-2ea7-7150-b1c6-f2f6b2325749", "title": "Exosuit demo video #2: launching an EC2 instance from Exosuit’s web UI", "url": "https://www.codewithjason.com/exosuit-demo-video-2-launching-ec2-instance-exosuits-web-ui/", "published_at": "2019-11-15T21:16:44+00:00" }, { "id": "01a0c58e-2ea7-7150-b1c6-f2f6b250fbbc", "title": "My general approach to Rails testing", "url": "https://www.codewithjason.com/general-approach-rails-testing/", "published_at": "2019-10-08T17:36:11+00:00" }, { "id": "01a0c58e-2ea7-7150-b1c6-f2f6b2567b3b", "title": "The difference between domains, domain models, object models and domain objects", "url": "https://www.codewithjason.com/difference-domains-domain-models-object-models-domain-objects/", "published_at": "2019-10-04T16:09:37+00:00" }, { "id": "01a0c58e-2ea7-7150-b1c6-f2f6b34a7d35", "title": "How I wrote a command-line Ruby program to manage EC2 instances for me", "url": "https://www.codewithjason.com/wrote-command-line-ruby-program-manage-ec2-instances/", "published_at": "2019-09-30T16:06:50+00:00" }, { "id": "01a0e6dc-2530-70e4-aa01-1e392af23975", "title": "Exosuit demo video #1: launching and SSHing into an EC2 instance", "url": "https://www.codewithjason.com/exosuit-demo-video-1-launching-sshing-ec2-instance/", "published_at": "2019-09-26T18:02:40+00:00" }, { "id": "01a0e6dc-2530-70e4-aa01-1e392b3a4ea8", "title": "Beware of “service objects” in Rails", "url": "https://www.codewithjason.com/rails-service-objects/", "published_at": "2019-09-24T20:09:14+00:00" }, { "id": "01a0e6dc-2530-70e4-aa01-1e392bf80165", "title": "How do I make testing a habitual part of my development work?", "url": "https://www.codewithjason.com/make-testing-habit/", "published_at": "2019-08-19T21:04:25+00:00" }, { "id": "01a0e6dc-2530-70e4-aa01-1e392c623dfd", "title": "How to write a test when the test implementation isn’t obvious", "url": "https://www.codewithjason.com/write-test-test-implementation-isnt-obvious/", "published_at": "2019-08-13T15:13:19+00:00" }, { "id": "01a0e6dc-2530-70e4-aa01-1e392cb6e1e9", "title": "How to deal with complex Factory Bot associations in RSpec tests", "url": "https://www.codewithjason.com/deal-complex-factory-bot-associations-rspec-tests/", "published_at": "2019-08-01T20:04:24+00:00" }, { "id": "01a0e6dc-2530-70e4-aa01-1e392d3fe1ff", "title": "How do you tell which areas of a project’s test suite need attention?", "url": "https://www.codewithjason.com/tell-areas-projects-test-suite-need-attention/", "published_at": "2019-07-29T16:02:07+00:00" }, { "id": "01a0e6dc-2530-70e4-aa01-1e392dbb9d4d", "title": "How to get a team to get behind an engineering project", "url": "https://www.codewithjason.com/get-team-get-behind-engineering-project/", "published_at": "2019-07-29T15:19:50+00:00" }, { "id": "01a0e6dc-2531-73be-9020-84fb74d5d3e1", "title": "Mystified by RSpec’s DSL? Some parentheses can add clarity", "url": "https://www.codewithjason.com/mystified-rspecs-dsl-parentheses-can-add-clarity/", "published_at": "2019-07-23T01:34:37+00:00" }, { "id": "01a0e6dc-2531-73be-9020-84fb755a1165", "title": "How to test Ruby methods that involve puts or gets", "url": "https://www.codewithjason.com/test-ruby-methods-involve-puts-gets/", "published_at": "2019-07-06T19:14:17+00:00" }, { "id": "01a0e6dc-2531-73be-9020-84fb761c9c5a", "title": "Examples of pointless types of RSpec tests", "url": "https://www.codewithjason.com/examples-pointless-rspec-tests/", "published_at": "2019-07-03T17:40:05+00:00" }, { "id": "01a0e6e8-ee9a-72e8-a3c4-f7f1f2a71ebc", "title": "How I test JavaScript-heavy Rails applications", "url": "https://www.codewithjason.com/test-javascript-heavy-rails-applications/", "published_at": "2019-06-19T15:29:53+00:00" }, { "id": "01a0e6e8-ee9a-72e8-a3c4-f7f1f2d4153c", "title": "A repeatable, step-by-step process for writing Rails integration tests with Capybara", "url": "https://www.codewithjason.com/repeatable-step-step-process-writing-rails-integration-tests-capybara/", "published_at": "2019-06-18T02:07:21+00:00" }, { "id": "01a0e6e8-ee9a-72e8-a3c4-f7f1f387657d", "title": "The difference between RSpec, Capybara and Cucumber", "url": "https://www.codewithjason.com/difference-rspec-capybara-cucumber/", "published_at": "2019-06-18T01:30:11+00:00" }, { "id": "01a0e6e8-ee9a-72e8-a3c4-f7f1f4387828", "title": "Stuck on a programming problem? These tactics will get you unstuck most of the time", "url": "https://www.codewithjason.com/programming-problem-unstuck/", "published_at": "2019-06-11T03:05:51+00:00" }, { "id": "01a0e6e8-ee9a-72e8-a3c4-f7f1f5205fd2", "title": "Logging the user in before Capybara feature specs/system specs", "url": "https://www.codewithjason.com/logging-user-capybara-feature-specs/", "published_at": "2019-06-06T12:31:58+00:00" }, { "id": "01a0e6e8-ee9a-72e8-a3c4-f7f1f5a03a03", "title": "All my best programming tips", "url": "https://www.codewithjason.com/best-programming-tips/", "published_at": "2019-06-03T20:01:29+00:00" }, { "id": "01a0e6e8-ee9a-72e8-a3c4-f7f1f655d480", "title": "My experience speaking at 7 tech conferences in 9 months including RailsConf, RubyHACK and RubyConf India", "url": "https://www.codewithjason.com/tech-conference-speaking-experience/", "published_at": "2019-05-22T20:19:05+00:00" }, { "id": "01a0e6e8-ee9a-72e8-a3c4-f7f1f6e34973", "title": "Capybara: expect field to have value", "url": "https://www.codewithjason.com/capybara-expect-field-value/", "published_at": "2019-05-15T14:33:44+00:00" }, { "id": "01a0e6e8-ee9a-72e8-a3c4-f7f1f734af80", "title": "RSpec/Capybara integration tests: the ultimate guide", "url": "https://www.codewithjason.com/rails-integration-tests-rspec-capybara/", "published_at": "2019-05-13T11:01:27+00:00" }, { "id": "01a0e6e8-ee9a-72e8-a3c4-f7f1f74d8d1f", "title": "Common causes of flickering/flapping/flaky tests", "url": "https://www.codewithjason.com/common-causes-flickering-flapping-flaky-tests/", "published_at": "2019-04-12T20:42:54+00:00" }, { "id": "01a0e6fa-8204-7004-ae76-47f8d283c5e4", "title": "A Rails model test “hello world”", "url": "https://www.codewithjason.com/a-rails-model-test-hello-world/", "published_at": "2019-04-09T15:04:36+00:00" }, { "id": "01a0e6fa-8204-7004-ae76-47f8d2ab8a7f", "title": "Reader Q&A: Kaemon’s question about test-first vs. test-after", "url": "https://www.codewithjason.com/reader-qa-kaemons-question-about-test-first-vs-test-after/", "published_at": "2019-04-08T17:19:35+00:00" }, { "id": "01a0e6fa-8204-7004-ae76-47f8d2adce5d", "title": "Reader Q&A: Tommy’s question about testing legacy code", "url": "https://www.codewithjason.com/reader-qa-tommys-question-about-testing-legacy-code/", "published_at": "2019-04-08T17:15:01+00:00" }, { "id": "01a0e6fa-8204-7004-ae76-47f8d2d5af78", "title": "Taming legacy Ruby code using the “Sprout Method” technique (example 2)", "url": "https://www.codewithjason.com/taming-legacy-ruby-code-using-the-sprout-method-technique-example-2/", "published_at": "2019-04-08T16:27:55+00:00" }, { "id": "01a0e6fa-8204-7004-ae76-47f8d38babd4", "title": "What if I want to do test-first but I find it easier to do test-after?", "url": "https://www.codewithjason.com/what-if-i-want-to-do-test-first-but-i-find-it-easier-to-do-test-after/", "published_at": "2019-04-01T21:17:15+00:00" }, { "id": "01a0e6fa-8204-7004-ae76-47f8d449d22f", "title": "Code smell: long, procedural background jobs (and how to fix it)", "url": "https://www.codewithjason.com/code-smell-long-procedural-background-jobs-fix/", "published_at": "2019-03-26T13:52:53+00:00" }, { "id": "01a0e6fa-8204-7004-ae76-47f8d4593ae9", "title": "A Rails testing “hello world” using RSpec and Capybara", "url": "https://www.codewithjason.com/rails-testing-hello-world-using-rspec-capybara/", "published_at": "2019-03-19T19:04:34+00:00" }, { "id": "01a0e6fa-8204-7004-ae76-47f8d4d0dac2", "title": "Who’s to blame for bad code? Coders.", "url": "https://www.codewithjason.com/whos-blame-bad-code-coders/", "published_at": "2019-03-08T00:11:16+00:00" }, { "id": "01a0e6fa-8204-7004-ae76-47f8d4d259ef", "title": "Sometimes it’s better for tests to hit the real API", "url": "https://www.codewithjason.com/sometimes-better-tests-hit-real-api/", "published_at": "2019-03-06T21:16:05+00:00" }, { "id": "01a0e6fa-8204-7004-ae76-47f8d5264a5e", "title": "Refactorings should be atomic", "url": "https://www.codewithjason.com/refactorings-should-be-atomic/", "published_at": "2019-02-28T20:22:52+00:00" }, { "id": "01a0e70a-6ec4-73d9-961a-0027c071c111", "title": "How I write characterization tests", "url": "https://www.codewithjason.com/write-characterization-tests/", "published_at": "2019-02-24T22:42:23+00:00" }, { "id": "01a0e70a-6ec4-73d9-961a-0027c0bec322", "title": "How to clear up obscure Rails tests using Page Objects", "url": "https://www.codewithjason.com/page-objects-rails/", "published_at": "2019-02-09T19:40:53+00:00" }, { "id": "01a0e70a-6ec4-73d9-961a-0027c13fbd68", "title": "RSpec mocks and stubs in plain English", "url": "https://www.codewithjason.com/rspec-mocks-stubs-plain-english/", "published_at": "2019-01-29T18:48:45+00:00" }, { "id": "01a0e70a-6ec4-73d9-961a-0027c1acc17c", "title": "Refactoring to POROs (using tests)", "url": "https://www.codewithjason.com/refactoring-poros-using-tests/", "published_at": "2019-01-22T12:27:10+00:00" }, { "id": "01a0e70a-6ec4-73d9-961a-0027c1ba6dbe", "title": "The difference between integration tests and controller tests in Rails", "url": "https://www.codewithjason.com/difference-integration-tests-controller-tests-rails/", "published_at": "2019-01-17T17:29:17+00:00" }, { "id": "01a0e70a-6ec4-73d9-961a-0027c211b153", "title": "In Which I Dissect and Improve a Rails Test File I Found on Reddit", "url": "https://www.codewithjason.com/dissect-improve-rails-test-file-found-reddit/", "published_at": "2019-01-16T04:20:41+00:00" }, { "id": "01a0e70a-6ec4-73d9-961a-0027c25f1a04", "title": "My Vim setup for Rails", "url": "https://www.codewithjason.com/vim-setup-rails/", "published_at": "2019-01-07T20:18:17+00:00" }, { "id": "01a0e70a-6ec4-73d9-961a-0027c2e43885", "title": "Unlike real debt, technical debt is unavoidable", "url": "https://www.codewithjason.com/unlike-real-debt-technical-debt-unavoidable/", "published_at": "2019-01-02T18:51:31+00:00" }, { "id": "01a0e70a-6ec4-73d9-961a-0027c3acb0fb", "title": "Five benefits of automated testing", "url": "https://www.codewithjason.com/five-benefits-automated-testing/", "published_at": "2019-01-02T17:38:29+00:00" }, { "id": "01a0e70a-6ec4-73d9-961a-0027c3bce6d4", "title": "Testing private methods", "url": "https://www.codewithjason.com/testing-private-methods/", "published_at": "2018-12-27T14:03:31+00:00" }, { "id": "01a0e715-7c7c-7078-b23f-1c2316ba78ee", "title": "How to run system specs headlessly or not headlessly at will", "url": "https://www.codewithjason.com/run-system-specs-headlessly-not-headlessly-will/", "published_at": "2018-12-20T18:30:18+00:00" }, { "id": "01a0e715-7c7c-7078-b23f-1c2316d5e9b3", "title": "Test smell: Obscure Test", "url": "https://www.codewithjason.com/test-smell-obscure-test/", "published_at": "2018-12-18T20:19:13+00:00" }, { "id": "01a0e715-7c7c-7078-b23f-1c2317b3cc18", "title": "Why the Boy Scout Rule is insufficient", "url": "https://www.codewithjason.com/boy-scout-rule-insufficient/", "published_at": "2018-12-17T18:06:11+00:00" }, { "id": "01a0e715-7c7c-7078-b23f-1c231853aab6", "title": "Using tests as a tool to wrangle legacy projects", "url": "https://www.codewithjason.com/using-tests-tool-wrangle-legacy-projects/", "published_at": "2018-12-09T19:32:59+00:00" }, { "id": "01a0e715-7c7c-7078-b23f-1c231910551d", "title": "“We don’t have time to write tests”", "url": "https://www.codewithjason.com/dont-time-write-tests/", "published_at": "2018-11-27T16:00:40+00:00" }, { "id": "01a0e715-7c7c-7078-b23f-1c23196b03af", "title": "Rails scaffolding and TDD are incompatible (but that’s okay)", "url": "https://www.codewithjason.com/rails-scaffolding-tdd-incompatible/", "published_at": "2018-11-26T16:55:04+00:00" }, { "id": "01a0e715-7c7c-7078-b23f-1c231a3a1f31", "title": "When I use controller/request specs and when I don’t", "url": "https://www.codewithjason.com/use-controller-request-specs-rails-dont/", "published_at": "2018-11-18T16:34:39+00:00" }, { "id": "01a0e715-7c7c-7078-b23f-1c231af52931", "title": "“It’s ugly but it works”", "url": "https://www.codewithjason.com/its-ugly-but-it-works/", "published_at": "2018-11-16T12:52:07+00:00" }, { "id": "01a0e715-7c7c-7078-b23f-1c231b12d54a", "title": "Avoiding Network Calls In Rails Tests Without Using Mocks, Stubs or VCR", "url": "https://www.codewithjason.com/avoiding-network-calls-rails-tests-without-using-mocks-stubs-vcr/", "published_at": "2018-11-13T20:53:19+00:00" } ] posts Claim your blog
Back to codewithjason.com
Blog · corpus.blog/blogs/codewithjason.com/posts

codewithjason.com

codewithjason.com

2021

2020

2019

2018