为什么我错过了"创建单元测试......" VS 2013中的上下文菜单项?

时间:2014-06-19 19:02:11

标签: c# unit-testing visual-studio-2013 nunit moq

我试图在我的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"

1 个答案:

答案 0 :(得分:1)

从它的外观来看,单元测试生成器不再是VS 2013的一部分。但是请查看this extension,这显然会复制其中一些功能。

话虽如此,我建议不要生成单元测试。大多数时候,有意义的测试是你真正需要考虑你正在测试的东西的那种,而IMO的发生器会引导你走错方向。另外,我应该指出,Moq独立于测试框架和编写测试的方式,因此您不需要生成测试以试用Moq。