You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+11-3
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ For years, the software testing ecosystem has lagged behind other parts of the s
14
14
15
15
4. Investigate test performance by generating flamegraphs (or icicle graph) for the entire testrun. See `-save-flamegraph`, `-save-icegraph`, and `-save-palette`.
16
16
17
-
5. Run your tests in parallel. QA does this for you automatically, for test types `rspec`, `rspec-pendantic`, `minitest`, `minitest-pendantic`, `test-unit`, and `test-unit-pendantic`. The `-pendantic` suffix runs each *method* in a separate child process. (Versus each *case*in its own worker process.)
17
+
5. Run your tests in parallel. QA does this for you automatically. Use the `-squash` option to specify how tests are squashed into worker processes. The default is `file`. Use `all` to squish everything into a single worker process (effectively disabling parallel test running), or `none` to run every test in a separate worker process.
18
18
19
19
6. Analyze and eliminate [test flakiness](#whatis_flaky). The `-archive-base-dir` option for `qa run` records test outcomes across different runs. Use the `qa flaky` command with the same `-archive-base-dir` option to identify and diagnose flaky tests. This is new functionality, so please [open an issue](https://github.com/ajbouh/qa/issues/new) with questions and feedback!
20
20
@@ -26,6 +26,8 @@ For years, the software testing ecosystem has lagged behind other parts of the s
26
26
27
27
10. Automatically partition Rails tests across multiple databases, one per worker (Using custom ActiveRecord integration logic). If the required test databases do not exist, they will be setup automatically before tests begin. NOTE This functionality is highly experimental. Disable it with `-warmup=false`. Please [open an issue](https://github.com/ajbouh/qa/issues/new) if you have trouble.
28
28
29
+
11. A faster and more focused development cycle. QA can prioritize test ordering based on the test files you're changing with `qa auto`.
30
+
29
31
## What languages and test frameworks does QA support?
30
32
31
33
Ruby's RSpec, MiniTest, test-unit. Be sure to use `bundle exec` when you run qa, if you're managing dependencies with Bundler. For example, if you're using rspec:
@@ -35,7 +37,7 @@ bundle exec qa run rspec
35
37
36
38
## What will QA help me do tomorrow?
37
39
38
-
1.A faster and more focused development cycle. QA will prioritize test ordering based on the files you're changing and what's failed recently.
40
+
1.An even faster and more focused development cycle. QA will prioritize test ordering based on dependencies of the files you're changing and what's failed recently.
39
41
40
42
2. Run your tests *even faster*. QA will package your test execution environment, run it on a massive fleet of remote machines (like [AWS Lambda](https://aws.amazon.com/lambda/)) and stream the results back to your terminal in real time.
41
43
@@ -68,6 +70,10 @@ Example usage and output:
68
70
> cd $project
69
71
> qa run minitest
70
72
...
73
+
> qa run -archive-base-dir ~/.qa/archive minitest
74
+
...
75
+
> qa flaky -archive-base-dir ~/.qa/archive
76
+
...
71
77
```
72
78
73
79
## Troubleshooting QA
@@ -133,9 +139,11 @@ Now the good news: with QA, we've set out to address the shortcomings we see wit
133
139
-[ ] Suggests which flaky tests to debug first (based on heuristics)
134
140
135
141
### Local development
142
+
-[x] Automatically run tests as you save changes to them.
143
+
-[ ] Automatically run tests as you save changes to any of their file-level dependencies.
144
+
-[ ] Automatically run tests as you change individual test methods or dependencies of those methods.
136
145
-[ ] Order test run during local development based on what's failed recently
137
146
-[ ] Line-level code coverage report
138
-
-[ ] Rerunning tests during local development affected by what code you just modified (test code or AUT, using code coverage analysis)
139
147
-[ ] Limit tests to files that are open in editor (open test files, open AUT files, etc)
140
148
-[ ] Can run with git-bisect to search for commit that introduced a bug
141
149
-[ ] Suggest which failing tests to debug first (based on heuristics)
0 commit comments