你提出的这个观点非常好。当然,您为此使用了单元测试。
单元测试主要是测试代码结果的一种“方式”。您测试它是否执行了预期的操作,以及当您希望它失败时它是否会失败。
时间和空间是两个非常重要的变量,你可能“想要”快速的速度和低的空间成本,但程序实际上做了相反的事情,然后你得到了一个错误,这就是单元测试的目的,找到错误并解决他们。
单元测试的一些伪代码非常耗时,您可能知道如何解决这个问题,但这是一种相当不错的测试方法:
Unit_Test_To_See_If_X_Takes_More_Than_Y_Seconds(int max_milli_seconds)
{
int current_millis = getMillis();
do_operations_on_objects_and_functions();
int millis_after_executions = getMillis();
int elapes_millis = millis_after_execution - current_millis;
if ( elapsed_millis > max_milli_seconds )
Assert(ERROR);
}
Run Code Online (Sandbox Code Playgroud)
另外你想想,你的测试会不会太多了?不,你不能。测试所有结果是件好事,即使你测试的是“愚蠢”的东西,如果你不测试某个结果而进化出了一个 bug,是否意味着它不存在,只是因为你没有看到它或者你没有测试过?:)