←back to thread

Unit tests as documentation

(www.thecoder.cafe)
174 points thunderbong | 6 comments | | HN request time: 0.7s | source | bottom
1. mihaigalos ◴[] No.41872231[source]
In TDD, u-tests are called "spec". Pretty much sums it up.
replies(2): >>41872337 #>>41872778 #
2. lucianbr ◴[] No.41872337[source]
So again, any inputs outside of those exemplified in unit tests are unspecified behaviour? How would this work for mathematical operators for example?
replies(2): >>41872555 #>>41875288 #
3. viraptor ◴[] No.41872555[source]
A part of this lives in the spec name, and a part in the assumption that the Devs are not psychos. As in, if you test that sum(a,b) returns a sum of your numbers, the name/description of the test says so. And the second part means that it should hold for all numbers and the exceptions would be tested explicitly - nobody added "if a=5 & b=3 return 'foobar'" to it.
4. advisedwang ◴[] No.41872778[source]
spec and documentation are things different though?
replies(1): >>41877668 #
5. samatman ◴[] No.41875288[source]
Induction is a valid form of inference.
6. gpmcadam ◴[] No.41877668[source]
In TDD spec is converted to behaviours that can be ran as automated tests so if the logic of the code changes, it breaks the spec and in turn the tests

Whereas documentation can (inevitably) go stale with no feedback or build failures