我了解到xUnit V2.4.1支持异步测试(我在Visual Studio 2015项目中添加了nuget软件包xunit.runner.visualstudio
和xunit.runner.console
。)因此,我创建了以下测试。
[Fact]
public async Task SearchItemSqlRepositoryModel_Reset()
{
await _searchItemSqlRepository.GetSearchItems(....);
}
但是,Run Test
显示“未找到要运行的测试”吗?
我尝试将Task
更改为void
,但仍然无法使用。
[Fact]
public async void SearchItemSqlRepositoryModel_Reset()
但是,同步版本有效。
[Fact]
public void SearchItemSqlRepositoryModel_Reset0()
{
_searchItemSqlRepository.GetSearchItems(....).Wait();
}
答案 0 :(得分:0)
这听起来像xUnit运行程序错误。
Run Tests
将不会运行这些异步测试。Run All
即可。但是它仍然不会在测试方法前面显示绿色的复选图标。不过,它将在“测试资源管理器”中显示绿色的复选图标。答案 1 :(得分:0)
如果将“异步任务”更改为“异步无效”,则将运行测试。实际上,这种行为(某种)是设计使然。请参阅以下问题: