我有一个类,该类具有接收xml文件并从磁盘加载xsd文件以生成html代码的功能。
我想构建一个单元测试,以发送XML进行什么测试。
问题在于单元测试和核心应用程序位于不同的文件夹中,因此主要功能由于相对路径不同而无法从磁盘加载xsd文件。
答案 0 :(得分:0)
您可以更改代码,以便注入xsd。您还可以使用MS Fakes从测试代码中提供xsd。
如果您使用MS Fakes,则示例示例伪代码可能看起来像这样:
{
"_id" : ObjectId("5cf8fcac9f938484cb872ed2"),
"projectId" : "pID92",
"pageName" : "trail",
"image" : "2e",
"pageId" : "1",
"objectName" : [
{
"objectName" : "demoPage",
"attributes" : [
{
"locators" : "tagName",
"value" : "p"
},
{
"locators" : "className",
"value" : "btnKeyEvent"
},
{
"locators" : "id",
"value" : "obj1"
},
{
"locators" : "text",
"value" : "Login"
}
]
"pomObject" : "newtrial1(driver).demo_1vij"
}
]
}
如下所示,注入要简单一些,但是它确实需要更改代码以进行测试,并且使类的使用变得复杂:
db.objectRepository.update({
$and:[
{pageName:'trail'},
{'objectName.objectName':'demoPage'},
{'objectName.attributes':{$elemMatch: {"locators": 'id',
"value": 'obj1'}}}
]},
{"$set": { "objectName.0.attributes.2.value" : 'obj2'}})