我正在编写自己的穷人测试框架。在我的控制台应用程序中,我有这个:
static void Main(string[] args)
{ // Line 12
double adouble = 77;
double expected = 70;
TestingFramework.assertEquals<double>(expected, adouble - 7); // Line 15
TestingFramework.assertEquals<double>(expected, adouble - 6); // Line 16
}
在 TestingFramework 我有这一行:
System.Console.WriteLine("Success, File {0}, Line {1}",
new System.Diagnostics.StackTrace(true).GetFrame(1).GetFileName(),
new System.Diagnostics.StackTrace(true).GetFrame(1).GetFileLineNumber());
但是当我运行测试时,它告诉我两个函数调用的 FileLineNumber 都是 12。此外,它给了我正确的文件名,所以我认为它引用了正确的框架。
有人可以告诉我如何让它向我报告发起呼叫的行号(15 然后 16),而不是开放括号的行号(12)?
谢谢。