Tag: 数据驱动测试

数据驱动unit testing问题

我有一些麻烦让我的unit testing设置为使用Excel .xlsx数据源。 我的App.config文件: 我已经validation它正在找到TestData.xlsx ,并且有一个名为GetAllCellNamesTest的工作表。 在我的unit testing类中,我有以下设置: [TestMethod()] [DeploymentItem(“TestProject\\TestData.xlsx”)] [DataSource(“GetAllCellNamesTest”)] public void GetAllCellNamesTest() { // … test code TestData.xlsx正被复制到测试结果目录中,并且所有不尝试引用数据源的unit testing都将被传递。 但是,这一个测试失败并显示以下消息: The unit test adapter failed to connect to the data source or to read the data. For more information on troubleshooting this error, see “Troubleshooting Data-Driven Unit Tests” (http://go.microsoft.com/fwlink/?LinkId=62412) in the MSDN Library. […]

数据驱动的unit testing – CSV编码问题?

我有以下CSV文件,用于我的数据驱动unit testing: File;expected Resources.resx;default Resources.de.resx;de AttachmentDetail.ascx.it.resx;it SomeOtherFile.rm-CH.resx;rm-CH “文件”和“预期”是标题。 但是,如果我想在代码中得到“文件”列 TestContext.DataRow[“File”].ToString(); 我收到了错误 System.ArgumentException:列’File’不属于表.. 当我通过测试方法属性将CSV文件添加到现有测试用例时,似乎“文件”列在其名称前面有一些奇怪的符号,就像编码问题一样。 但是,如果我用记事本,Notepad ++甚至TextMate(在Mac上)打开CSV文件,我没有看到任何这样的迹象,我无法摆脱它们。 有人可以给我一个关于这个问题的建议吗?

MSTest中数据驱动测试的问题

我正在尝试使用MSTest / Selenium在C#中使用数据驱动测试。 以下是我尝试设置的一些代码的示例: [TestClass] public class NewTest { private ISelenium selenium; private StringBuilder verificationErrors; [DeploymentItem(“GoogleTestData.xls”)] [DataSource(“System.Data.OleDb”, “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=GoogleTestData.xls;Persist Security Info=False;Extended Properties=’Excel 8.0′”, “TestSearches$”, DataAccessMethod.Sequential)] [TestMethod] public void GoogleTest() { selenium = new DefaultSelenium(“localhost”, 4444, “*iehta”, http://www.google.com); selenium.Start(); verificationErrors = new StringBuilder(); var searchingTerm = TestContext.DataRow[“SearchingString”].ToString(); var expectedResult = TestContext.DataRow[“ExpectedTextResults”].ToString(); … 这是我的错误:错误3非静态字段,方法或属性’Microsoft.VisualStudio.TestTools.UnitTesting.TestContext.DataRow.get’E:\ Projects \ SeleniumProject […]

为什么数据驱动unit testing在vs2012中在vs2010中正常工作时失败了?

我有一些数据驱动的unit testing在Visual Studio 2010中运行得很好。这些测试使用以下模式实现。 [TestMethod()] [DeploymentItem(“path_to_data_dir_relative_to_solution\\my_data.xml”)] [DataSource(“Microsoft.VisualStudio.TestTools.DataSource.XML”, “|DataDirectory|\\my_data.xml”, “Token”, DataAccessMethod.Sequential)] public void MyTestMethod() { // Arrange const string EXPECTED_PARAM_NAME = “table”; string data = TestContext.DataRow[“Data”].ToString(); var sut = new MyClassUnderTest(); // Act sut.DoSomething(data); // Assert Assert.IsTrue(sut.DidSomething); } 这是我的解决方案结构。 MySolutionFolder MyTestProjectFolder MyTestDataFolder my_data.xml 当我在Visual Studio 2012中运行相同的测试时,它们失败并显示以下错误消息。 结果消息:unit testing适配器无法连接到数据源或读取数据。 有关解决此错误的详细信息,请参阅MSDN Library中的“数据驱动unit testing疑难解答”( http://go.microsoft.com/fwlink/?LinkId=62412 )。 错误详细信息:对象引用未设置为对象的实例。 为什么我的unit testing突然失败了?

在ClassInitialize中生成的数据驱动测试:不再在Visual Studio 2012中工作

我已从Visual Studio 2010升级到Visual Studio 2012。 在我的unit testing项目中,我有一个[ClassInitialize]方法生成一个CSV文件,然后使用连接到CSV的[DataSource]将其输入数据驱动的[TestMethod]。 这在Visual Studio 2010中非常有用。 我无法在Visual Studio 2012中使用它。 似乎在VS2012中,MS测试运行器需要连接到[DataSource]的文件已经存在,否则将不会运行任何测试。 如果我自己创建CSV,则会运行数据驱动的测试,但它们不会获取[ClassInitialize]中创建的数据:似乎在[ClassInitialize]运行之前评估来自[DataSource]的测试列表。 有解决方法吗? 这是一个重现问题的最小项目。 对我来说,这在VS2010中取得了成功,但在VS2012中失败了。 TestProject.cs using System.Diagnostics; using System.IO; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace TestProject { [TestClass] public class DataDrivenUnitTest { private static bool _classInitializeCalled; private static int _testCount; public TestContext TestContext { get; set; } [ClassInitialize] public static void ClassInitialize(TestContext testContext) { […]

NUnit中的数据驱动测试?

在MSTest中,您可以执行以下操作: [TestMethod] [DataSource(“Microsoft.VisualStudio.TestTools.DataSource.CSV”, “testdata.csv”, “testdata#csv”, DataAccessMethod.Sequential)] public void TestSomething() { double column1 = Convert.ToDouble(TestContext.DataRow[“column1”]); … Assert.AreEqual(…); } NUnit 2.5中的等效代码是什么?