【发布时间】:2018-09-21 05:31:30
【问题描述】:
我的 c# 应用程序中有一个类似于下面的方法。
public async Task SampleMethod()
{
try
{
//some code
await AnotherMethod();
// some code
}
catch (Exception ex)
{
Console.Error.WriteLine(ex.Message.ToString());
}
}
现在,我正在尝试使用 MStest 为上述方法编写一个单元测试用例。我写了如下内容。
[TestMethod]
public async Task SampleMethodTest()
{
ClassName cn = new ClassName();
await cn.SampleMethod();
}
现在我如何知道测试用例是失败还是成功。我如何在这里使用 Assert?
非常感谢任何帮助。
【问题讨论】:
-
你想测试什么?
-
@Sakuto 我想测试 SampleMethod()
-
是的,但是您的方法中有哪些行为?你没有任何回报,也没有条件。您要测试的逻辑路径是什么?
-
@Sakuto 在 SampleMethod() 中,我这里没有提到任何代码,但是有一些条件和循环需要测试。我唯一担心的是,由于它没有返回任何值,我怎么知道方法是否失败。我是否必须返回一些值来测试方法?还是有其他方法?
-
这取决于条件如何影响您的方法流程。例如,如果其中一个条件抛出异常,您可以只测试如果给定参数,它会抛出这个异常。