c++隐藏函数的意义
好的测试应该:
- 奔驰
- 有意义地失败
- 记录测试中的系统
- 遇到错误时要自我解释
考虑以下测试:
@Test public void restApi() {
int response = client.get( "/endpoint" );
// the status code returned from the get
// should be OK, indicating
// the endpoint is healthy
assertEquals( 200 , response); }
您可以按照上述测试的代码进行操作,并且可能会对测试试图证明的内容有所了解。
如果/当它失败时,错误将类似于assertion failure: 401 is not 200
,这意味着什么?
但这是有记录的!
是。 那是烦人的事。 在代码中间有一个很大的注释,说明正在测试什么……但是注释永远不会出现在测试的输出中,即控制台日志和测试报告。
如果只有某人将测试方法命名为healthCheckEndpointReturnsOk
或已向断言中添加了一些其他报告以说明其断言…
综上所述
使用一个好的断言框架,尽管它可以增加价值,但实际上并不需要编写太多的消息来说明断言的含义。
具有良好的测试名称,并且可以测试简单的单项测试,因此测试失败的事实应该记录出了问题所在。
总的来说,将测试的原因隐藏在注释中既不是使用也不是装饰。 您希望测试的上下文和含义出现在测试报告中。
翻译自: https://www.javacodegeeks.com/2019/11/hidden-meaning.html
c++隐藏函数的意义