以单元测试的形式接近秒表测试的方法

时间:2015-11-18 13:57:06

标签: c# unit-testing stopwatch

我对c#很新。我的任务是创建一个测试,告诉我搜索过程需要多长时间。所以我点击一个搜索按钮。然后我等待结果出现。

我想以我的三A的单位测试的形式尝试它。理想情况下,测试完成搜索的时间不会超过3秒。

最好的方法是什么?我需要事先做好任何设置吗?

到目前为止我只有通用代码。

    [TestMethod]
public void LocationNameSearch()
{
    //Arrange


    //Act


    //Assert


}}

更新: 我正试图创建一个基本的秒表然后我将构建我需要的数据从开发代码。这个断言我哪里错了?

    [TestMethod]
    public void LocationNameSearch()
    {
// Create new stopwatch.
Stopwatch stopwatch = new Stopwatch();

// Begin timing.
stopwatch.Start();

// Do something.
for (int i = 0; i > 1000; i++)
{

}

// Stop timing.
stopwatch.Stop();

//Assert
Assert.AreEqual(stopwatch.Stop, 1);


}

2 个答案:

答案 0 :(得分:0)

断言应检查秒表的Elapsed属性,并将其与允许进程的最长时间进行比较。

答案 1 :(得分:0)

这不使用Stopwatch类,但我更喜欢使用[Timeout]属性。

用法:

[TestMethod]
[Timeout(3000)]
public void LocationNameSearch() { }

如果测试完成时间超过3秒,测试将失败。