我尝试编写以下TestCase用于在VB.net中编写的NUnit测试:
<TestCase("FirstNode", "<node id=\"FirstNode\">")>
Public Sub GetNode_GivenSomeNodeId_ReturnCorrectNode(ByVal nodeId as String,
ByVal expectedXml as String)
(Call the method under test and request the xmlNode with the provided id...)
Assert.AreEqual(expectedXml, returnedXml)
End Sub
作为第二个参数传递给测试用例的xml节点无效,因为这显然不是转义双引号的正确方法。我确信我可以找到一种解决方法,以检查测试中的方法是否返回了预期的XML节点,但我很好奇:
是否有一些聪明的方法来传递这样的字符串,包含双引号,作为NUnit测试的参数?
答案 0 :(得分:65)
在VB中转义双引号的正确方法是将双引号加倍:
<TestCase("FirstNode", "<node id=""FirstNode"">")>