Nunit을 사용하고 있습니다. 테스트가 실행되기 전에 모든 테스트에 대한 모든 테스트 테스트 데이터를로드합니다. 왜 이런 일이 발생하는지 알고 싶습니다. 난 내가 아래 사용하고 데이터 소스가 Nunit은 테스트가 실행되기 전에 모든 테스트의 모든 테스트 데이터를로드합니다.
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>
두 개의 서로 다른 테스트 같은 테스트 데이터를 호출 할 때 때 그것은 두 번 같은 데이터를로드 XML
있는 코드를 게시 한 data.I를로드하는 다른 효과적인 방법이있는 경우 원하는 미리 도움을 주셔서 감사합니다.
당신은 제공하지 않는 *를 사용할 수 있습니다. GetExample이 NUnit 텍스트 픽스처에 위치하는 곳은 언제/얼마나 자주 실행될 것인가를 정의합니다. 이 코드를 사용하는 전체 텍스트 픽스쳐를 제공하십시오. –