您好,想与社区联系,以获取有关我正在执行的工作的测试驱动开发方法的见解和建议。
我正在开发一个解析物理 XML 文件(包含图表和表格数据)的 ASP.NET MVC3 项目。首先,应用程序生成 xml 节点的模型表示。控制器用于执行应用程序逻辑,
最终呈现到带有图表和表格的特定 HTML 视图。
我在想我将构建一个模型来表示具有适当接口的 xml 即类,如数据集、标题、维度等。这是正确的方法吗。(请参阅下面的示例 xml)
我会写什么样的单元测试?我会从访问物理 XML 文件的单元测试开始(可能不会)吗?我应该将 xml 字符串的片段流式传输到 Xdocument 中吗?(这不是 teting .net 代码吗?)假设我不想创建具体的 XDocument 类,我该如何模拟对象,例如
我想做的第一个测试(我认为)是加载 xml 并测试 end_Date 是否正确
我有一个 XMLHelper 类,它加载 xml 并返回带有属性结束日期的标头的类表示。
所以我的具体代码看起来大致像
var dataset = XmlHelper.Load(filePathOrXmlStream);
var header=dataset.Header;
Assert.AreEqual("5/06/2011",header.EndDate);
假设以下 XML 用于流或文件加载。
XML 源
<dataset>
<header>
<end_date>5/06/2011</end_date>
<dimension id="mkt" desc="market">
<item mkt="0" desc="Company A" />
<item mkt="1" desc="Company B" />
</dimension>
<dimension id="prd" desc="product">
<item prd="0" desc="Product A " Groups_Total="Segment Totals" Total="Yes" Product="All" grp="Category" />
</dimension>
<dimension id="msr" desc="measure">
<item msr="0" tag="ACTIVE_1" desc="Active Products" />
</dimension>
<dimension id="tim" desc="time">
<item tim="0" tag="LAST WEEK -52" desc="06/06/10 " />
<item tim="1" tag="LAST WEEK -26" desc="05/12/10 " />
<item tim="2" tag="LAST WEEK 0" desc="05/06/11 " />
</dimension>
</header>
<data>
<dpGroup tim="0">
<dp mkt="0" prd="0" msr="0" tim="0">1031</dp>
<dp mkt="1" prd="0" msr="0" tim="0">986</dp>
</dpGroup>
<dpGroup tim="1">
<dp mkt="0" prd="0" msr="0" tim="1">970</dp>
<dp mkt="1" prd="0" msr="0" tim="1">937</dp>
</dpGroup>
<dpGroup tim="2">
<dp mkt="0" prd="0" msr="0" tim="2">982</dp>
<dp mkt="1" prd="0" msr="0" tim="2">955</dp>
</dpGroup>
</data>
</dataset>