【发布时间】:2016-03-16 08:40:50
【问题描述】:
我使用 Microsoft Entity Framework 并有一些嵌套实体
祖父母、父母、孩子
在 C# 测试中,我希望能够从 xml 文件中读取 GrandParents 数组,包括他们的后代,例如(假代码示例:)
[TestMethod]
[DataSource("myTestData.xml")]
public void MyTest(){
List<GrandParent> grandParents = TestContext.GetEntityList(GrandParent.class);
}
<?xml version="1.0" encoding="utf-8" ?>
<TestData>
<GrandParent>
<name>GrandParent_1</name>
<Parent>
<name>Parent_1.1</name>
<Child>
<name>Child_1.1.1</name>
</Child>
</Parent>
</GrandParent>
<GrandParent>
<name>GrandParent_2</name>
<Parent>
<name>Parent_2.1</name>
<Child>
<name>Child_2.1.1</name>
</Child>
</Parent>
<Parent>
<name>Parent_2.2</name>
<Child>
<name>Child_2.2.1</name>
</Child>
</Parent>
</GrandParent>
<TestData>
DataSource 注释不支持上述语法,我只能找到从 DataSource 读取平面数据的示例。 https://msdn.microsoft.com/en-us/library/ms182527.aspx
似乎不支持读取分层数据并将该数据转换为实体对象树。
是否有一种简单的方法可以从 xml 数据源创建实体对象树以进行测试?也许像 Java 中的 Unitils (http://unitils.org/tutorial-database.html),但对于 .Net?理想情况下,xml 文件不需要包含实体的所有属性:只需要指定测试中使用的那些实体属性。
相关问题
这是一个有关如何填充测试数据的相关问题。大多数引用的库似乎已经过时,我找不到对测试数据的 xml 导入的支持: Is there any framework for .NET to populate test data?
嵌套 xml 数据源:Data driven tests using nested xml data file
【问题讨论】:
-
显示
GrandParent类及其子类的代码。 -
谢谢。我更正了xml文件。我的真正问题更复杂,上面的例子只是为了说明问题。
标签: c# xml entity-framework test-data