嗨想伸手向社会上获得的办法为我开展工作的测试驱动开发见解和意见 。为ASP.NET MVC 3测试驱动开发 - 解析XML源文件
我正在解析一个物理XML文件(包含图表和表格数据)的ASP.NET MVC3项目。 首先,应用程序生成xml节点的模型表示。 控制器可以提供最终呈现给包含图表和表格的特定HTML视图的应用程序逻辑,
。
我在想,我将建立一个模型,它代表了xml,即像数据集,标题,尺寸等类的类,其中 适当的接口。这是正确的做法吗? (请参阅下面的示例xml)
我会写什么样的单元测试? 我会开始访问物理XML文件(可能不是)的单元测试吗? 我应该将fragmlx的xml字符串流入Xdocument吗? (是不是那teting .net代码?) 假设我不想创建具体的XDocument类,如何模拟出对象,例如
我想要做的第一个测试(我认为)是加载xml和测试END_DATE是正确
我有加载xml和返回与属性结束日期的报头的一个类表示的XMLHelper类。
所以我具体的代码看起来大致如下
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>