3 ms·
Test automation professional here. "Hermetic" means not relying on the performance of resources not under test, such as an external server. You get away from t
by geoelectric 11y ago
Test automation professional here.
"Hermetic" means not relying on the performance of resources not under test, such as an external server. You get away from that with a combo of test doubles, fake servers, or real servers running on test localhost/cluster and strictly under that machine's control.
"Atomic" isn't really a standard term in testing as much as "hermetic" is (though I haven't heard "hermetic" much either until recently when Google Testing Blog started popularizing it).
Edit: googling "atomic unit test" shows that it's used more widely than I thought.
But generally, just by what "atomic" means (stands alone), I would interpret that to mean not sharing state between tests--i.e. nothing where the last test creates your fixture and your next test uses it, or multiple tests together form a sequenced scenario.
QUnit uses it that way too, for example:
https://qunitjs.com/cookbook/#keeping-tests-atomic https://qunitjs.com/cookbook/#keeping-tests-atomic
Of course, your group might normally call that "hermetic," but you'd be out of step with most others.