2

我正在尝试将动态生成的 XML 文件与数据驱动测试一起使用。我正在使用 Visual Studio 2010 和 .NET 4.0 。

[TestMethod]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", @"|DataDirectory|\StudentData.xml", "Student", DataAccessMethod.Sequential)]

这个StudentData.xml文件是由代码生成的,我没有部署这个文件。我已经编写了用于StudentData.xml在方法中生成文件的代码TestInitialize(),该文件也保存在当前工作目录中。

每当我要运行测试方法时,它都会抛出错误:

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.
Error details: Object reference not set to an instance of an object.

我认为在创建文件之前,框架正在尝试访问该文件。那么,如何将这个 XML 文件用于单元测试呢?另外,我可以在属性中使用变量名吗?

谢谢你的帮助

4

1 回答 1

3

过去 17 小时内我没有收到任何回复。因为这对我很重要,所以我试图探索其他的可能性。

最后我让它工作了。下面是一个简单的解决方案(我发布这个是因为它将来可能会帮助像我这样的其他初学者)。

我刚刚将我的 XML 文件生成代码移动到[ClassInitialize]方法而不是TestInitialize()它工作正常。

此外,以下是将运行方法的顺序是:

1.  Methods marked with the AssemblyInitializeAttribute.
2.  Methods marked with the ClassInitializeAttribute.
3.  Methods marked with the TestInitializeAttribute.
4.  Methods marked with the TestMethodAttribute

在这里查看更多

谢谢...

于 2013-01-21T12:46:28.917 回答