我知道MSTest不支持RowTest和类似的测试.
什么是MSTests用户怎么办?如何在没有RowTest支持的情况下生活?
我已经看过DataDriven测试功能,但听起来有太大的开销,是否有任何第三方补丁或工具允许我进行RowTest类似的测试MSTest?
我在Microsoft视频中看到有关这些属性的Visual Studio更新2.但是,我找不到关于它们的任何其他信息,也无法使用它们构建项目.
有没有人知道这些属性或如何让它们工作?
[DataTestMethod]
[DataRow("a", "b")]
[DataRow(" ", "a")]
public void TestMethod1(string value1, string value2)
{
Assert.AreEqual(value1 + value2, string.Concat(value1, value2));
}
Run Code Online (Sandbox Code Playgroud) 我想在C#中为所有代码路径测试以下方法.
public int foo (int x)
{
if(x == 1)
return 1;
if(x==2)
return 2;
else
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我已经看到这个pex单元测试测试了多个输入.如何创建接受多个输入的单元测试?
[TestMethod()] //some setup here??
public void fooTest()
{
//some assert
}
Run Code Online (Sandbox Code Playgroud)
我想避免为每个输入创建一个测试方法.我正在使用Visual Studio 2010/2012和.Net 4.0
c# unit-testing visual-studio-2010 vs-unit-testing-framework
我开始使用MSTest 2 DataRow属性来检查单个测试中的多个案例:
[TestMethod]
[DataRow(1, 1, 2)]
[DataRow(1, 2, 3)]
public void AdditionWorks(int op1, int op2, int expectedResult)
{
Assert.AreEqual(expectedResult, new Sut().Add(op1, op2));
}
Run Code Online (Sandbox Code Playgroud)
它在NCrunch和CI中都很好用.只是现在我注意到有一个特殊属性DataTestMethod应该标记这样的测试而不是TestMethod.
有区别吗?特别使用一种变体的原因是什么?
我希望在MSTest中长期看到的一个功能是参数化单元测试(PUT).我很高兴听到Intellitest 能够创建所述测试.我开始玩Intellitest,但我认为我对PUT的定义与微软不同.
当我想到"PUT"时,我认为NUnit中的TestCases或xUnit中的Theories.比我聪明的人似乎使用相同的术语.
有人能告诉我Intellitest是否真的能够以与NUnit或xUnit相同的方式创建PUT,或者这是一个重载术语的问题,这意味着Intellitest中的一件事,而另一部分是大多数其他测试框架的问题?谢谢.
c# unit-testing parameterized-unit-test visual-studio-2015 intellitest
static void Main(string[] args)
{
for (int i =1 ; i<=100;i++)
{
Console.WriteLine(i.ToString());
if (i % 3 == 0)
Console.WriteLine("HOON");
if (i % 5 == 0)
Console.WriteLine("Group");
if (i % 3 == 0 && i % 5 == 0)
Console.WriteLine("HOON Group");
}
}
Run Code Online (Sandbox Code Playgroud)
我需要使用上面的代码编写测试代码.
有三个功能.你能告诉我任何人吗?
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
}
}
Run Code Online (Sandbox Code Playgroud)