私はいつもこの問題を回避するために、残念ながらイベントの使用を減らしてきました。しかし、今回は気の利いたトリックを思いついたのですが、次のようなアプローチは適切ではないと思います。同じ結果を達成するための推奨される方法はありますか?
注意:しばらくしないと、ブレークポイントを設定しない限り、_args.Fixtureでnull参照例外が発生します-競合状態。
private Parser _parser;
private ParsedArgs _args;
[TestFixtureSetUp]
public void Setup()
{
_parser = new Parser();
_parser.DataParsed += DataParsed;
}
void DataParsed(object sender, ParsedArgs e)
{
_args = e;
}
[Test]
public void TestDocParse()
{
_parser.ParseFixture(File.ReadAllText(EventDataPath));
while (_args == null || _args.Fixture == null) { }
Assert.IsNotNull(_args.Fixture);
var fixture = _args.Fixture;
Assert.AreEqual("2F7PY1662477", fixture.Id);
}
次のことが、解析が完了するために潜在的に不正確なタイムスケールを考えなければならないことにつながったことがわかりました...
私はfixture.Idが"2F7PY1662477"に等しいことをテストすることを目指しています。
ありがとう