2011-10-11 13 views
27

Próbowałem pisząc następujące TestCase do testu NUnit pisemnej w VB.NET:Jak uniknąć podwójnych cudzysłowów jako parametru w 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-węzeł przekazywana jako drugi parametr do testcase nie obowiązuje jednak, jak to wyraźnie nie jest poprawny sposób uciec z podwójnych cytatów. Jestem pewien, że mogę znaleźć obejście problemu, aby sprawdzić, czy testowana metoda zwraca oczekiwany węzeł XML, ale jestem ciekawy:

Czy istnieje jakiś sprytny sposób na przekazanie takiego ciągu znaków, zawierającego podwójne Cytaty, jako parametr do testu NUnit?

Odpowiedz

55

Prawidłowy sposób uciec cudzysłowia w VB jest podwojenie podwójnie cytaty:

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

Ach, tak proste! Doh! :) – Kjartan

+1

Uważam to za dziwne, różnica między dodawaniem a + pomiędzy cytatami jest oczywiście duża, nie wydaje się logiczne, aby to zrobić w ten sposób, ale potem znowu, więcej rzeczy w vb.net nie jest logicznych –

+1

Lub użyj the Chr (34) więc: Chr (34) ")> – Fuzzybear

Powiązane problemy