저는 약간의 딜레마를 겪고 있습니다. 특정 XPath 쿼리 결과를 반환하는 함수가있는 매우 기본적인 클래스가 있습니다.단위 테스트 기능 XPath 쿼리 결과?
다음은 현재 사용중인 코드입니다.
[TestFixture]
public class MarketAtAGlance_Test
{
private XmlDocument document;
private MarketAtAGlance marketAtAGlance;
[SetUp]
public void setUp()
{
this.document = new XmlDocument();
// load document from file located in the project
this.marketAtAGlance = new MarketAtAGlance(document);
}
[Test]
public void getHourlyImport_Test()
{
Assert.AreEqual(100.0d, marketAtAGlance.getHourlyImport());
}
[Test]
public void getHourlyExport_Test()
{
Assert.AreEqual(1526.0d, marketAtAGlance.getHourlyExport());
}
}
public class MarketAtAGlance
{
XmlDocument document;
public MarketAtAGlance(XmlDocument document)
{
this.document = document;
}
public double getHourlyImport() {
double value = Convert.ToDouble(document.SelectSingleNode("//information[@id=\"dat11\"]/new_val").InnerText);
return value;
}
public double getHourlyExport() {
double value = Convert.ToDouble(document.SelectSingleNode("//information[@id=\"dat12\"]/new_val").InnerText);
return value;
}
}
이것은 처음으로 단위 테스트를 사용하기 때문에 아직 많은 사소한 일들이 확실하지 않습니다. 보시다시피, 내 하드 드라이브에있는 정적 XML 파일을로드하고 있습니다. 여분의 종속성을 가져야하거나 XML 텍스트를 큰 문자열에 넣어야합니까? 이미 알려진 값으로 테스트 할 수 있기 때문에 동일한 형식의 이전 XML 파일을로드하고 있습니다. 또한
은 어떻게 문서로 XML URL과 부하를 취하는 (클래스 XmlHttpReader을 테스트 장치에 대한 갈 것이라고? 디자인에 대한 내 질문이나 의견에
모든 의견을?
테스트 데이터의 설정을 가능한 한 간단하게 유지하는 것이 도움이된다는 것을 알고 있습니다. 이렇게하면 테스트에서 얻으려고하는 것이 정확히 나타납니다. – Mark