gpt4 book ai didi

c# - 在单元测试中测量方法的执行时间以在运行速度太慢时抛出异常是否是一种好习惯?

转载 作者:太空狗 更新时间:2023-10-30 00:05:40 24 4
gpt4 key购买 nike

一切都在标题中,我想知道这是否是一个好的做法:

[TestMethod]
public void Compute_Array_In_Less_1_Second()
{
Stopwatch watcher = new Stopwatch();

int[] A = Enumerable.Range(0, 50000).Select(i => GetRandomNumber(MIN_INT, MAX_INT)).ToArray();

watcher.Start();
int[] R = Program.MethodThatReturnsAnArray(A);
watcher.Stop();

if (watcher.ElapsedMilliseconds > 1000)
Assert.Fail("The method runs in more 1 second");
}

最佳答案

不,不是。

单元测试不是在“正常”条件下执行的,因此结果将毫无用处。

使用单元测试来验证代码的正确语义。

在接近生产环境的条件下设置性能测试(通常是端到端的)。

关于c# - 在单元测试中测量方法的执行时间以在运行速度太慢时抛出异常是否是一种好习惯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9670776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com