मैं मैं परीक्षण वर्ग पार्सर जो विशिष्ट इनपुट पर ऊपर अपवाद फेंक चाहिए करने के लिए इकाई परीक्षण का उपयोग कर रहा अपवादइकाई परीक्षण अपवाद संपत्ति
class SyntaxError : Exception {
public SyntaxError(int l) {
line = l;
}
public int line;
}
है। मैं कोड का उपयोग कर रहा इस तरह:
[TestMethod]
[ExpectedException(typeof(Parser.SyntaxError))]
public void eolSyntaxError()
{
parser.reader = new StringReader("; alfa\n; beta\n\n\n\na");
parser.eol();
}
वहाँ अगर SyntaxError.line == 1
जाँच करने के लिए किसी भी स्मार्ट आसान तरीका है?
बेस्ट मैं के साथ आ रहा है:
[TestMethod]
public void eolSyntaxError()
{
try {
parser.reader = new StringReader("; alfa\n; beta\n\n\n\na");
parser.eol();
Assert.Fail();
} catch (SyntaxError e) {
Assert.AreEqual(1, e.line);
}
}
मुझे बहुत पसंद नहीं है, वहाँ बेहतर तरीका है?
आप इसके बारे में क्या पसंद नहीं करते में इसका इस्तेमाल कर सकते हैं? –
ऐसा लगता है कि वहां आसान तरीका होना चाहिए, यह इतनी सरल चीज़ के लिए बहुत अधिक कोड जैसा दिखता है .. लेकिन अगर यह सबसे अच्छा तरीका है तो मैं इसे – Paladin
कर सकता हूं यदि लाइन मान की स्थिति प्रासंगिक है अपवाद फेंकना, फिर इसे अपवाद पर पैरामीटर के रूप में शामिल करें। – Matt