2 ms·
Someone wants to test: function do_add(a, b, add) { return add(b, a); } And does something like: do_add(1, 2, add) expect(add) to be called with
by postalrat 5y ago
Someone wants to test:
function do_add(a, b, add) {
return add(b, a);
}
And does something like:
do_add(1, 2, add)
expect(add) to be called with (2, 1)
Then the function is changed to:
function do_add(a, b, add) {
return add(a, b);
}
Oops, broke the test. Is this a type of behavior change that you expect would break the test? Often there are many ways to correctly do something and a good test should allow any of them.
- carlmr 5y agoBut that's not a behavioral change, only bad testing. The test wouldn't be brittle if the behavior of adding was locked down completely.
- yourenotsmart 5y agoAny test that uses mocks is therefore "bad testing".