2011-10-11 40 views
27

我试着写了下面的TestCase一个NUnit测试写在VB.net:如何将双引号作为参数转义为NUnit TestCase?

<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节点,但我很好奇:

是否有一些聪明的方法来传递字符串,如this,它包含double引号,作为一个NUnit测试的参数?

回答

55

逃避VB双引号正确的方法是用双引号加倍:

<TestCase("FirstNode", "<node id=""FirstNode"">")> 
+0

啊,就这么简单!卫生署! :) – Kjartan

+1

我发现这实际上很奇怪,当在引号之间加一个+时的差别显然很大,这样做似乎不合逻辑,但是再次,vb.net中的更多东西不是逻辑的 –

+1

或者使用Chr(34)如此: Chr(34)“)> – Fuzzybear

相关问题