ヌニットを使用しています。テストが実行される前に、すべてのテストのすべてのテスト テスト データをロードします。データをロードする他の効果的な方法があるかどうかを知りたいです。以下に使用するコードを投稿しました。データ ソースは xml です。
private IEnumerable Example
{
get { return GetExample; }
}
private IEnumerable GetExample()
{
var doc = XDocument.Load("Example.xml");
return
from Examples in doc.Descendants("Example")
let Example1 = Examples.Attribute("Example1").Value
let Example2 = Examples.Attribute("Example2").Value
let Example3 = Examples.Attribute("Example3").Value
select new object[] { Example1, Example2, Example3};
}
[TestCaseSource("Example")]
public void ShouldLogin(string username, string password, bool expected)
{
// just test that uses the data from above
}
<?xml version="1.0" encoding="utf-8" ?>
<Examples>
<Example Example1="fsse" Example2="dj7sihfs" Example3="true" />
<Example Example1="hgtd" Example2="sd122?=s" Example3="true" />
<Example Example1="asde" Example2="!!sf3mff" Example3="true" />
<Example Example1="bsfd" Example2="--sdfj+?" Example3="true" />
<Example Example1="aefb" Example2="!#¤%/(sd" Example3="true" />
</Examples>
2 つの異なるテストが同じテスト データを呼び出すと、同じデータが 2 回読み込まれます。