Questions tagged «mstest»

Microsoft .NET单元测试框架(MSTest)

6
MSTest复制文件以测试运行文件夹
我有一个测试,要求读取XML文件然后进行解析。每次如何将这个文件复制到测试运行文件夹中? XML文件设置为“如果更新则复制”,并将编译模式设置为“无”(因为它实际上不是可编译的东西)

5
MSTest是否与NUnit的TestCase等效?
我发现TestCaseNUnit中的功能非常有用,可以快速指定测试参数,而无需为每个测试使用单独的方法。MSTest中有类似的东西吗? [TestFixture] public class StringFormatUtilsTest { [TestCase("tttt", "")] [TestCase("", "")] [TestCase("t3a4b5", "345")] [TestCase("3&5*", "35")] [TestCase("123", "123")] public void StripNonNumeric(string before, string expected) { string actual = FormatUtils.StripNonNumeric(before); Assert.AreEqual(expected, actual); } }

19
VS 2010 Test Runner错误“测试运行时,代理进程已停止。”
在Visual Studio 2010中,我有许多单元测试。当我一次使用测试列表运行多个测试时,有时会针对一个或多个测试显示以下错误: 测试正在运行时,代理进程已停止。 决不会同一测试失败,如果我再次尝试运行测试,它将成功。 我在Connect上发现了此错误报告,这似乎是相同的问题,但没有提供解决方案。 有人看到过这种行为吗?我该如何避免呢? 编辑 我仍在遇到此错误,在相同软件/硬件设置下的许多同事也是如此。到目前为止,我已经评估了答案,但是并不能解决问题。我开始为解决这个问题提供悬赏。

4
为什么在比较结构时此断言会引发格式异常?
我试图断言两个System.Drawing.Size结构的相等性,并且我得到了格式异常,而不是预期的断言失败。 [TestMethod] public void AssertStructs() { var struct1 = new Size(0, 0); var struct2 = new Size(1, 1); //This throws a format exception, "System.FormatException: Input string was not in a correct format." Assert.AreEqual(struct1, struct2, "Failed. Expected {0}, actually it is {1}", struct1, struct2); //This assert fails properly, "Failed. Expected {Width=0, …

20
DeploymentItem属性存在问题
我目前正在维护用C#.net编写的“旧”系统,删除一些过时的功能并进行一些重构。谢谢上帝,以前的家伙写了一些单元测试(MSTests)。我对JUnit测试相当满意,但对MSTest并没有做太多事情。 测试方法具有一个DeploymentItem属性,该属性指定一个文本文件(该文件由要测试的业务逻辑方法解析)和第二个属性,DeploymentItem其中仅指定了一个路径,其中包含一堆也必须部署的TIF文件。 [TestMethod()] [DeploymentItem(@"files\valid\valid_entries.txt")] [DeploymentItem(@"files\tif\")] public void ExistsTifTest() { ... } 测试以前可以进行,但是现在我不得不更改\ files \ tif目录中包含的TIF文件的名称。根据规则,TIF文件名必须匹配某个模式,该模式也由该ExistsTifTest()方法检查。现在,我不得不更改文件名以使其适应新要求,并且突然之间,不再像以前那样部署TIF文件。 有人可以给我提示为什么会发生这种情况或可能是什么原因吗?如果在测试方法中具有相应DeploymentItem属性的\ files \ valid \目录中的“ valid_entries.txt”旁边添加一个新的文本文件,例如“ my2ndTest.txt”,也会发生相同的情况。文件未部署? 我现在通过直接在testrunco​​nfig中定义部署路径来部署映像,但是我想了解为什么会发生这些事情,或者为什么为什么我的新文件“ my2ndTest.txt”没有被部署,而其他文件却被部署了。



7
如何在单元测试之间重置EF7 InMemory提供程序?
我正在尝试使用EF7 InMemory提供程序进行单元测试,但是两次测试之间InMemory数据库的持久性导致我遇到问题。 以下代码演示了我的问题。一个测试将起作用,而另一个测试将始终失败。即使我在两次测试之间将_context设置为null,第二次测试运行仍将始终包含4条记录。 [TestClass] public class UnitTest1 { private SchoolContext _context; [TestInitialize] public void Setup() { Random rng = new Random(); var optionsBuilder = new DbContextOptionsBuilder<SchoolContext>(); optionsBuilder.UseInMemoryDatabase(); _context = new SchoolContext(optionsBuilder.Options); _context.Students.AddRange( new Student { Id = rng.Next(1,10000), Name = "Able" }, new Student { Id = rng.Next(1,10000), Name = …

7
MSTest部署项目仅在项目测试设置文件中存在时才起作用吗?
我似乎无法理解应该如何配置MSTest部署项目。我已经能够通过修改项目的测试设置文件来使它们正常工作,但这并不理想-部署项目配置与单独的测试分开,并且文件路径似乎存储为绝对路径,除非文件是在解决方案文件夹下。 我是否可以使用上的[DeploymentItem]属性添加部署项目,[TestClass]或者[TestMethod]不必创建/修改项目测试设置文件?我该如何完成? (坦率地说,我不了解需要单独的部署项目配置-为什么不只对应作为部署项目的项目文件使用现有的“复制到输出目录”设置?)

4
MsTest类的初始化和继承
我有一个用于测试的基类,它是通过以下方式组成的: [TestClass] public abstract class MyBaseTest { protected static string myField = ""; [ClassInitialize] public static void ClassInitialize(TestContext context) { // static field initialization myField = "new value"; } } 现在,我试图创建一个新的测试,该测试从基础继承并带有以下签名: [TestClass] public class MyTest : MyBaseTest { [TestMethod] public void BaseMethod_ShouldHave_FieldInitialized() { Assert.IsTrue(myField == "new value"); } } 将ClassInitialize永远不会被孩子所谓的测试...什么是真实的,正确的使用测试初始化与MSTest的继承方式?
74 c#  mstest 


2
Visual Studio 2013 MSTest与NUnit
我的公司正在将Visual Studio 2012升级到2013 Premium。在此过程中,我们还希望使用以下方法开始自动化测试Visual Studio Team Services 过去,我已经阅读了几篇MSTest vs nUnit的文章和文章,但是大多数文章都比较了旧版本的MSTest。此外,与MSTest相比,nUnit具有许多有利的评价。 我的问题是,考虑到Microsoft对ALM的承诺,敏捷实践以及他们已添加到VS2013 Premium和Visual Studio Team Services中以促进和鼓励自动化测试的所有新内容,MSTest与nUnit相比如何? 在决定要使用的测试框架之前,我还应该考虑其他哪些因素?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.