Visual Studio 2013测试资源管理器

托马斯·E

我用2个项目创建了一个简单的C#/。Net解决方案:

  • 类库。
  • 一个具有单个UnitTest类的单元测试项目,并且我已将Moq添加到该项目中。

然后,我创建了三个UnitTest方法,这些方法使用Moq模拟单个类,然后将其注入另一个类。

using System;
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;

namespace MockSimple.Test
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void TestMethod1()
        {
            var mock = new Mock<ClassImplementingFunctionality>();
            mock.Setup(functionality => functionality.Add(It.IsAny<int>(), It.IsAny<int>())).Returns(4);
            var classUnderTest = new ClassUnderTest(mock.Object);
            classUnderTest.Method(2,2);
            mock.Verify(m => m.Add(It.IsAny<int>(), It.IsAny<int>()), Times.Exactly(1));
        }

        [TestMethod]
        [ExpectedException(typeof(ArgumentException))]
        public void TestMethod2()
        {
            var mock = new Mock<ClassImplementingFunctionality>();
            mock.Setup(functionality => functionality.Add(It.IsAny<int>(), It.IsAny<int>())).Returns(0);
            var classUnderTest = new ClassUnderTest(mock.Object);
            classUnderTest.Method(10,5);
        }

        [TestMethod]
        public void TestMethod3()
        {
            var ints = new List<int> {1, 2, 3, 4};
            var mock = new Mock<ClassImplementingFunctionality>();
            mock.Setup(functionality => functionality.Add(It.IsAny<int>(), It.IsAny<int>())).Returns(4);
            var classUnderTest = new ClassUnderTest(mock.Object);
            classUnderTest.LoopInts(ints);
            mock.Verify(m => m.Add(It.IsAny<int>(), It.IsAny<int>()), Times.Exactly(ints.Count));
        }

        [TestMethod]
        public void TestMethod4()
        {
            var ints = new List<int> { 1, 2, 3, 4, -5, -2, -7 };
            var mock = new Mock<ClassImplementingFunctionality>();
            mock.Setup(functionality => functionality.Add(It.IsAny<int>(), It.IsAny<int>())).Returns(4);
            var classUnderTest = new ClassUnderTest(mock.Object);
            classUnderTest.LoopInts(ints);
            mock.Verify(m => m.Add(It.IsAny<int>(), It.IsAny<int>()), Times.Exactly(4));
        }

    }
}

但是,当尝试使用VS2013中的内置测试管理器运行测试方法时,在“测试输出”窗口中出现以下错误:

------ Run test started ------
The composition produced a single composition error. The root cause is provided below. Review the CompositionException.Errors property for more detailed information.
Value does not fall within the expected range.
 Resulting in: An exception occurred while trying to create an instance of type 'Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection'.
 Resulting in: Cannot activate part 'Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection'.
 Element: 'Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection' -->  Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection
 Resulting in: Cannot get export 'Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection (ContractName="Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection")' from part 'Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection'.
 Element: Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection (ContractName="Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection") -->  Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection
 ========== Run test finished: 4 run (0:00:00,3464634) ==========* 

我可以使用Resharper单元测试框架轻松地运行测试方法。

对我来说,似乎MSTest试图做一些依赖注入或寻找MEF或Unity配置。

有任何想法吗?

托马斯·E

谢谢,谢谢 ...

在开发人员命令提示符中运行devenv / rootSuffix exp

上面的命令解决了问题:-)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Visual Studio 2013团队资源管理器/ Git集成缺少文件

来自分类Dev

Visual Studio 2013 Ultimate中的SQL Server对象资源管理器在哪里?

来自分类Dev

Visual Studio 2013-从解决方案资源管理器中删除文件

来自分类Dev

Visual Studio测试资源管理器错误日志

来自分类Dev

Visual Studio 2013测试资源管理器-发现测试无法初始化用于暂存测试结果的数据存储

来自分类Dev

Visual Studio 2013中的服务器资源管理器缺少Azure存储节点

来自分类Dev

Visual Studio测试资源管理器无法发现茉莉花测试

来自分类Dev

Visual Studio 2013生成后事件始终显示资源管理器

来自分类Dev

Visual Studio 2013中解决方案资源管理器未引用的图像

来自分类Dev

Visual Studio测试资源管理器找不到SpecFlow功能

来自分类Dev

Nunit 3.2.1在Visual Studio测试资源管理器中找不到的测试

来自分类Dev

Visual Studio 2015测试资源管理器更新后不显示任何测试

来自分类Dev

Visual Studio 2019在测试资源管理器中显示重复测试

来自分类Dev

Visual Studio测试资源管理器图标

来自分类Dev

Visual Studio测试资源管理器窗口将不会打开

来自分类Dev

Visual Studio 2013服务器资源管理器自定义数据提供程序:MongoDB

来自分类Dev

Databse资源管理器/服务器资源管理器缺少Visual Studio Express 2013

来自分类Dev

Visual Studio测试资源管理器错误日志

来自分类Dev

Visual Studio 2013测试资源管理器-发现测试无法初始化用于暂存测试结果的数据存储

来自分类Dev

是否可以从Visual Studio 2013中的测试资源管理器中打开specflow场景(场景大纲)的代码?

来自分类Dev

源代码管理资源管理器光标图标,表示Visual Studio 2013

来自分类Dev

Visual Studio测试资源管理器找不到SpecFlow功能

来自分类Dev

Nunit 3.2.1在Visual Studio测试资源管理器中找不到的测试

来自分类Dev

Visual Studio 2015测试资源管理器更新后不显示任何测试

来自分类Dev

Visual Studio 2015测试资源管理器将在构建中启动多个项目

来自分类Dev

N Unit Visual Studio 2017 测试资源管理器未找到测试

来自分类Dev

Visual Studio 测试资源管理器要求运行所有

来自分类Dev

Visual Studio 代码资源管理器设置

来自分类Dev

Visual Studio 测试资源管理器键盘将焦点设置为测试列表

Related 相关文章

  1. 1

    Visual Studio 2013团队资源管理器/ Git集成缺少文件

  2. 2

    Visual Studio 2013 Ultimate中的SQL Server对象资源管理器在哪里?

  3. 3

    Visual Studio 2013-从解决方案资源管理器中删除文件

  4. 4

    Visual Studio测试资源管理器错误日志

  5. 5

    Visual Studio 2013测试资源管理器-发现测试无法初始化用于暂存测试结果的数据存储

  6. 6

    Visual Studio 2013中的服务器资源管理器缺少Azure存储节点

  7. 7

    Visual Studio测试资源管理器无法发现茉莉花测试

  8. 8

    Visual Studio 2013生成后事件始终显示资源管理器

  9. 9

    Visual Studio 2013中解决方案资源管理器未引用的图像

  10. 10

    Visual Studio测试资源管理器找不到SpecFlow功能

  11. 11

    Nunit 3.2.1在Visual Studio测试资源管理器中找不到的测试

  12. 12

    Visual Studio 2015测试资源管理器更新后不显示任何测试

  13. 13

    Visual Studio 2019在测试资源管理器中显示重复测试

  14. 14

    Visual Studio测试资源管理器图标

  15. 15

    Visual Studio测试资源管理器窗口将不会打开

  16. 16

    Visual Studio 2013服务器资源管理器自定义数据提供程序:MongoDB

  17. 17

    Databse资源管理器/服务器资源管理器缺少Visual Studio Express 2013

  18. 18

    Visual Studio测试资源管理器错误日志

  19. 19

    Visual Studio 2013测试资源管理器-发现测试无法初始化用于暂存测试结果的数据存储

  20. 20

    是否可以从Visual Studio 2013中的测试资源管理器中打开specflow场景(场景大纲)的代码?

  21. 21

    源代码管理资源管理器光标图标,表示Visual Studio 2013

  22. 22

    Visual Studio测试资源管理器找不到SpecFlow功能

  23. 23

    Nunit 3.2.1在Visual Studio测试资源管理器中找不到的测试

  24. 24

    Visual Studio 2015测试资源管理器更新后不显示任何测试

  25. 25

    Visual Studio 2015测试资源管理器将在构建中启动多个项目

  26. 26

    N Unit Visual Studio 2017 测试资源管理器未找到测试

  27. 27

    Visual Studio 测试资源管理器要求运行所有

  28. 28

    Visual Studio 代码资源管理器设置

  29. 29

    Visual Studio 测试资源管理器键盘将焦点设置为测试列表

热门标签

归档