私は自分の貧乏人のテストフレームワークを書いています。私のコンソールアプリケーションには、次のものがあります。
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であることがわかります。さらに、正しいファイル名が表示されるので、正しいフレームを参照していると思います。
誰かが、オープンパレンの行番号(12)ではなく、通話を発信した行番号(15、16)を報告する方法を教えてもらえますか?
ありがとう。