标签: mstest

如何在使用MS Test时加载web.config

我正在测试一些业务对象的Save()方法.为了保存对象,我需要从Configuration Manager读取连接字符串.但我得到的只是空值.我的设置在web站点web.config中.如何在测试运行时获取.我需要其他配置吗?

.net unit-testing mstest

2
推荐指数
1
解决办法
1539
查看次数

在MSTest的测试视图中,如何获得没有类别的所有测试列表?

我正在使用MSTest,我的大多数单元测试都没有TestCategory属性,但我想把一些测试放到"慢"类别中.然后我希望能够轻松运行所有未分配类别的测试.

当我进入测试视图时,我可以按测试类别进行过滤,但我无法输入关键字为空.我可以很容易地找到我的"慢",但如何找到我的非慢速?我试图避免在我的所有测试中放置测试类别.

我想这不是世界末日,如果我必须...搜索和替换应该全部,但如果有办法找到未分类,我想知道.

mstest categories

2
推荐指数
1
解决办法
1378
查看次数

如何在Visual Studio 11 Dev Preview中使用MSTEST?

正如问题所说:

如何使用Visual Studio 11 Dev Preview进行MSTEST?

我试图找到mstest.exe,但它不存在于其通常的位置:

C:\ Program Files(x86)\ Microsoft Visual Studio 11.0\Common7\IDE

我写了一些单元测试,没有办法运行它们= \

c# unit-testing mstest windows-8 visual-studio-2012

2
推荐指数
1
解决办法
437
查看次数

MSTest的XML单元测试框架

我们需要验证我们生成的xml文档的内容.是否有任何框架可以帮助您轻松提取和验证文档的内容?

我们需要知道的事情

  • 包含元素x
  • 元素x的值
  • 元素x包含值为z的属性y
  • 意外的元素

如果没有断言,那么无关紧要,这可以通过MSTest来完成

.net xml mstest

2
推荐指数
1
解决办法
562
查看次数

TDD - 为什么Assert.AreSame会通过?

我有一个测试方法......

[TestMethod]
public void MainViewModel_PropertiesReflectDataEntityProperties()
{
    // Arrange
    var facilityDataEntity = MockRepository.GenerateStub<FacilityDataEntity>();
    var shopOrderDataEntity = MockRepository.GenerateStub<ShopOrderDataEntity>();

    // Act
    MainViewModel mainViewModel = new MainViewModel(facilityDataEntity, shopOrderDataEntity);

    // Assert
    Assert.AreSame(facilityDataEntity.Value, mainViewModel.FacilityValue);
}
Run Code Online (Sandbox Code Playgroud)

......并且测试通过了.但是,我还没有实现DataEntity属性到MainViewModel属性的映射!怎么会这样?我以为AreSame会检查两个引用是否指向同一个实例.

public class MainViewModel
{
    private readonly FacilityDataEntity facilityDataEntity;
    private readonly ShopOrderDataEntity shopOrderDataEntity;

    public MainViewModel(FacilityDataEntity facilityDataEntity)
    {
        this.facilityDataEntity = facilityDataEntity;
    }

    public MainViewModel(FacilityDataEntity facilityDataEntity, ShopOrderDataEntity shopOrderDataEntity)
    {
        this.facilityDataEntity = facilityDataEntity;
        this.shopOrderDataEntity = shopOrderDataEntity;
    }

    public ShopOrderDataEntity ShopOrderDataEntity
    {
        get { return shopOrderDataEntity; }
    }

    public FacilityDataEntity FacilityDataEntity
    {
        get { return …
Run Code Online (Sandbox Code Playgroud)

c# tdd assert mstest

2
推荐指数
1
解决办法
334
查看次数

如何获得完整的CodeCoverage?通过例外免费阻止

我有一点问题.(在单元测试中) - 我对一个方法引发异常的类进行单元测试.结构是:

    public bool DoA()
    {
        ThrowException();
        return true;
    }

    public void DoB()
    {
        ThrowException();
    }

    private static void ThrowException()
    {
        throw new NotSupportedException();
    }
Run Code Online (Sandbox Code Playgroud)

CodeCoverage的结果不是100% - 来自DoA()的return语句和结束花括号以及来自Do()B的结束花括号不在codeCoverage下(因为它们未到达).我知道,这对于unittest并不重要,因为我仍然检查了功能,但仅仅是为了我 - 它可能以及我如何达到完整的CodeCoverage?也许通过排除?(可能更改测试代码/程序代码)

c# unit-testing mstest visual-studio

2
推荐指数
2
解决办法
927
查看次数

是否有可能使ReSharper仅在我的解决方案的所有测试项目中运行某些类别的测试?

有一种方法,但它很糟糕,我正在寻找更清洁的东西.

我可以去菜单选择Run All Test in Solution.这会将所有测试带到会话中.但并非所有测试都是可运行的 - 有一组测试专为调试和集成而设计.这些测试有不同的类别.

我的目标是仅运行具有特定类别的解决方案中的所有测试.为此,我希望让ReSharper扫描我的解决方案,应用过滤器,然后运行生成的集合.

那可能吗?

c# resharper unit-testing mstest

2
推荐指数
1
解决办法
988
查看次数

为什么单元测试中的未处理异常不能使其使用MSTest失败?

今天我们意识到有些测试会抛出异常,但所有测试都会"通过".实际上,异常文本以绿色显示.

这有意义吗?

有没有办法让测试失败,如果未处理异常(我知道大部分时间都会发生)?

截图:

在此输入图像描述

测试方法:

[TestMethod]
public void CommunicationCore_CommunicationController_ConnectRequestWellProcessed()
{
    // Arrange
    IUnityContainer container = new UnityContainer();
    ICommonInitializer initializer = new CommonInitializer(container);
    initializer.Initialize(); // register all types
    DriveConnection connectionSettings = CreateFakeConnetionSettings(1);

    Transaction transaction = null;
    ICommunicationController controller = container.Resolve<ICommunicationController>();

    object locker = new object();

    // Act
    controller.Connect(
        connectionSettings,
        result =>
            {
                transaction = result;
                lock (locker)
                {
                    Monitor.Pulse(locker);
                }
        });

    // asyncronous communication wait for the process of the message
    lock (locker)
    {
        Monitor.Wait(locker, 10000);
    }

    // Assert
    bool connectSuccessfully …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing mstest exception visual-studio-2010

2
推荐指数
1
解决办法
1596
查看次数

MS测试断言检查

我用MS Test写了一个测试方法.我已经为测试目的写了两个断言.我故意让测试用例失败,但我不知道哪个部分失败了.

public void CalculatorConstructorTest()
        {
            Calculator concreteObject = new Calculator();

            Assert.IsTrue(concreteObject == null, "Construction failed");
            Assert.IsTrue(concreteObject.Total == 0, "Value should be initially 0");
        }
Run Code Online (Sandbox Code Playgroud)

正如在第一个断言中它将失败.此外,我的总数大于0.所以第二个也将失败.但是说其中一个是有效的.那么我如何确定哪个断言,我的测试用例失败了?

提前致谢.

c# tdd unit-testing mstest

2
推荐指数
1
解决办法
665
查看次数

从命令行运行时,mstest v2忽略ExpectedException

我正在尝试使用新的"mstest v2"框架,但在从命令行运行mstest.exe测试时遇到问题.具体来说,ExpectedExceptionAttribute和DeploymentItemAttribute不起作用.

这是我的样本测试:

[TestMethod]
[ExpectedException(typeof(NotImplementedException))]
public void ExpectedExceptionShouldWork()
{
    throw new NotImplementedException(
       "This exception should not cause the test to fail");
}
Run Code Online (Sandbox Code Playgroud)

我很确定它是由从Microsoft.VisualStudio.TestPlatform.TestFramework程序集而不是从Microsoft.VisualStudio.QualityTools.UnitTestFramework中拾取的属性引起的 - 然后mstest.exe无法识别它们.

我们在构建服务器(Teamcity)中运行mstest.exe,并且测试在那里失败,即使它们在IDE中成功.在本地运行时,Mstest.exe也会失败

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\MSTest.exe" /testcontainer:bin\Debug\Dummy.Test.dll
Run Code Online (Sandbox Code Playgroud)

当我的项目引用Microsoft.VisualStudio.QualityTools.UnitTestFramework时,它可以在命令行和IDE中工作.

如果我然后添加一个nuget引用到MSTest.TestFramework v 1.1.13,我得到一个编译错误:

Error   CS0433  
The type 'TestClassAttribute' exists in both 
'Microsoft.VisualStudio.QualityTools.UnitTestFramework, 
Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' and 
'Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, 
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
Run Code Online (Sandbox Code Playgroud)

当我删除对Microsoft.VisualStudio.QualityTools.UnitTestFramework的引用时,它在IDE中编译并工作 - 但不是从命令行.测试已运行,但由于抛出异常而失败.

我们真的想使用来自mstest v2的新东西,比如[DataTestMethod],但是我们不能在构建服务器上使构建失败.

有没有解决方法?它不只是关于[ExpectedException]?其他属性如[AssemblyInitialize]似乎也被忽略了?

c# mstest

2
推荐指数
1
解决办法
1057
查看次数