如何将双引号作为参数转义为NUnit TestCase?

Kja*_*tan 36 vb.net nunit escaping testcase double-quotes

我尝试编写以下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
Run Code Online (Sandbox Code Playgroud)

作为第二个参数传递给测试用例的xml节点无效,因为这显然不是转义双引号的正确方法.我确信我可以找到一种解决方法,以检查测试中的方法是否返回了预期的XML节点,但我很好奇:

是否有一些聪明的方法来传递这样的字符串,包含双引号,作为NUnit测试的参数?

Met*_*ght 65

在VB中转义双引号的正确方法是将双引号加倍:

<TestCase("FirstNode", "<node id=""FirstNode"">")>
Run Code Online (Sandbox Code Playgroud)

  • 实际上我发现这很奇怪,在引号之间添加+的区别显然很大,以这种方式执行它似乎不合逻辑,但是再一次,vb.net中的更多东西是不合逻辑的 (3认同)