C# 异步单元测试在Visual Studio中不可见
我使用Visual Studio 2015 Ultimate,编写了一些单元测试(我使用xUnit 2.1.0.3179,它允许此签名): 而不是标准的单元测试签名C# 异步单元测试在Visual Studio中不可见,c#,.net,visual-studio,unit-testing,xunit,C#,.net,Visual Studio,Unit Testing,Xunit,我使用Visual Studio 2015 Ultimate,编写了一些单元测试(我使用xUnit 2.1.0.3179,它允许此签名): 而不是标准的单元测试签名 public void MyTest() 但这些单元测试在VisualStudio(代码镜头)和测试资源管理器中不可见。当然,我重建解决方案时没有任何错误:) 是否有可能拥有与标准签名测试相同的功能?可能有VS扩展?我很确定您可能已经找到了解决方案,但我在尝试修复异步单元测试时发现了您的问题。(注意:我使用的是最新的Visual
public void MyTest()
但这些单元测试在VisualStudio(代码镜头)和测试资源管理器中不可见。当然,我重建解决方案时没有任何错误:)
是否有可能拥有与标准签名测试相同的功能?可能有VS扩展?我很确定您可能已经找到了解决方案,但我在尝试修复异步单元测试时发现了您的问题。(注意:我使用的是最新的Visual Studio 2015更新3)
[TestMethod]
公共异步任务GetVendors\u ByRegionId\u ReturnFilteredVendors()
{
//安排
var optionsBuilder=new DbContextOptionsBuilder();
optionsBuilder.UseSqlServer(“服务器=server12345;数据库=DB789;可信连接=True;MultipleActiveResultSets=True”);
var ctx=新的ApplicationDbContext(optionBuilder.Options);
ILoggerFactory logFac=新LoggerFactory();
ILogger loggerRepository=新记录器(logFac);
IVendorRepository vendRepo=新的供应商或存储库(ctx、loggerRepository);
//表演
任务结果任务=vendRepo.GetVendors(1);
IList vendorList=等待结果任务;
//断言
Assert.IsNotNull(供应商列表);
Assert.IsTrue(vendorList.Count>10);
}
我很确定您可能已经找到了解决方案,但我在尝试修复异步单元测试时发现了您的问题。(注意:我使用的是最新的Visual Studio 2015更新3)
[TestMethod]
公共异步任务GetVendors\u ByRegionId\u ReturnFilteredVendors()
{
//安排
var optionsBuilder=new DbContextOptionsBuilder();
optionsBuilder.UseSqlServer(“服务器=server12345;数据库=DB789;可信连接=True;MultipleActiveResultSets=True”);
var ctx=新的ApplicationDbContext(optionBuilder.Options);
ILoggerFactory logFac=新LoggerFactory();
ILogger loggerRepository=新记录器(logFac);
IVendorRepository vendRepo=新的供应商或存储库(ctx、loggerRepository);
//表演
任务结果任务=vendRepo.GetVendors(1);
IList vendorList=等待结果任务;
//断言
Assert.IsNotNull(供应商列表);
Assert.IsTrue(vendorList.Count>10);
}
OP使用的是xUnit,您使用的是内置单元测试系统。OP使用的是xUnit,您使用的是内置单元测试系统。该测试正在运行吗?我认为xUnit测试根本无法访问CodeLens,因此在CodeLens中没有提及它们。。。还是我弄错了?这个测试正在运行吗?我认为xUnit测试根本无法访问CodeLens,因此在CodeLens中没有提到它们。。。还是我错了?
public void MyTest()
[TestMethod]
public async Task GetVendors_ByRegionId_ReturnFilteredVendors()
{
// Arrange
var optionsBuilder = new DbContextOptionsBuilder();
optionsBuilder.UseSqlServer("Server=server12345;Database=DB789;Trusted_Connection=True;MultipleActiveResultSets=true");
var ctx = new ApplicationDbContext(optionsBuilder.Options);
ILoggerFactory logFac = new LoggerFactory();
ILogger<VendorRepository> loggerRepository = new Logger<VendorRepository>(logFac);
IVendorRepository vendRepo = new VendorRepository(ctx, loggerRepository);
// Act
Task<List<Vendor>> resultTask = vendRepo.GetVendors(1);
IList<Vendor> vendorList = await resultTask;
// Assert
Assert.IsNotNull(vendorList);
Assert.IsTrue(vendorList.Count > 10);
}