我试图在我的MVC Web API ASP.NET项目中实现一些单元测试。
我正在使用VS 2013(Ultimate,Update 2),并希望使用Moq。
我在解决方案中创建了一个Test项目。
在跟随this blog post的同时,我认为我应该能够右键点击" GetCountOfPlatypusItemRecords"这里:
public class PlatypusItemsController : ApiController
{
private readonly IPlatypusItemRepository _PlatypusItemRepository;
public PlatypusItemsController(IPlatypusItemRepository PlatypusItemRepository)
{
if (PlatypusItemRepository == null)
{
throw new ArgumentNullException("PlatypusItemRepository");
}
_PlatypusItemRepository = PlatypusItemRepository;
}
[Route("api/PlatypusItems/Count")]
public int GetCountOfPlatypusItemRecords()
{
return _PlatypusItemRepository.GetCount();
}
. . .
...并查看"创建单元测试......"菜单项;但是我没有(在"组织使用,"我看到"生成序列图,"不是"创建单元测试...") 。为什么"创建单元测试......"不适合我?
注意:我在主项目和测试项目中引用了Moq和nunit.framework,并添加了相应的"使用NUnit.Framework"和"使用Moq"
答案 0 :(得分:1)
从它的外观来看,单元测试生成器不再是VS 2013的一部分。但是请查看this extension,这显然会复制其中一些功能。
话虽如此,我建议不要生成单元测试。大多数时候,有意义的测试是你真正需要考虑你正在测试的东西的那种,而IMO的发生器会引导你走错方向。另外,我应该指出,Moq独立于测试框架和编写测试的方式,因此您不需要生成测试以试用Moq。