2011-10-11 22 views
27

Tôi cố gắng viết TestCase sau cho một bài kiểm tra NUnit viết bằng VB.net:Làm thế nào để thoát khỏi dấu ngoặc kép trong như một tham số cho một 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 

Các xml-nút thông qua như là tham số thứ hai để testcase là không hợp lệ Tuy nhiên, vì đây rõ ràng không phải là cách chính xác để thoát khỏi dấu ngoặc kép. Tôi chắc rằng tôi có thể tìm cách giải quyết để kiểm tra xem phương thức được thử nghiệm có trả lại nút XML dự kiến ​​hay không, nhưng tôi tò mò:

Có cách nào thông minh để vượt qua chuỗi như vậy, có chứa gấp đôi không báo giá, như một tham số cho một thử nghiệm NUnit?

Trả lời

55

Các cách chính xác để thoát khỏi hai dấu ngoặc kép trong VB là bằng cách nhân đôi hai dấu ngoặc kép:

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

Ah, đơn giản như vậy! Doh! :) – Kjartan

+1

Tôi thấy điều này thực sự kỳ lạ, sự khác biệt khi thêm dấu + giữa dấu ngoặc kép rõ ràng là lớn, nó có vẻ không hợp lý để làm theo cách này, nhưng sau đó một lần nữa, nhiều thứ trong vb.net không hợp lý –

+1

Hoặc sử dụng Chr (34) như vậy: Chr (34) ")> – Fuzzybear

Các vấn đề liên quan