基于反馈是的编辑,VS2010似乎支持SL4图书馆TDD,尽管当第一次创建测试时有几条奇怪的消息说测试不能针对Silverlight --问题似乎消失了--我猜是因为一个RC bug。我认为我现在真正的问题是如何使用提升的OOB功能的独立库TDD。UI片段实际上并不是库开发所需要的,而是阻碍了我真正想要的TDD。我知道我可以(也会)嘲笑其中的一些功能,但在某个时候,我也需要在我的tests.Thoughts中使用真正的功能?
原始问题,首先,我很高兴在VS2010中看到更好的TDD支持。从我的测试中生成代码存根的支持是可以的--不像更成熟的TDD插件那样好,而是一个好的开端。
我正在寻找一些最好的Silverlight 4.0 TDD实践。第一个问题:任何人都有链接、推荐?我知道新的Silverlight单元测试功能要好得多(杰夫·威尔考克斯的混合演讲)。我现在关注的是使用TDD开发纯Silverlight 4.0类库项目--没有Silverlight UI项目的项目。我已经能让它开始工作了,但是没有它应该做的那么干净。
我可以创建一个空的VS项目。
添加一个Silverlight 4类库项目。
添加一个TestProject (不是silverlight单元测试项目,而是普通测试项目)。
在测试项目中添加一个简单的测试,例如:
namespace Calculator.Test
{
[TestClass]
public class CalculatorTests
{
[TestMethod]
public void CalulatorAddTest() {
Calc c = new Calc();
int expected = 10;
int actual = c.Add(6, 4);
Assert.AreEqual<int>(expected, actual);
}
}
}使用Test特性中的新Generate和方法,它将在Silverlight项目中生成以下代码:
namespace Calculator
{
public class Calc
{
public int Add(int p, int p_2) {
throw new NotImplementedException();
}
}
}当我第一次运行测试时,它说目标程序集是Silverlight,无法运行测试--不是精确的文本,而是相同的一般概念。
当我将实现更改为:
namespace Calculator
{
public class Calc
{
public int Add(int p, int p_2) {
return p + p_2;
}
}
}重新运行测试,运行良好,测试就变绿了。它也适用于我之后生成的所有其他TDD代码。我还得到一个警告标记,在测试项目的参考计算器Silverlight类库程序集。
第二个问题:如果这只是VS2010 RC中的一个bug或Silverlight类库TDD中不支持的话,是否有任何注释的想法。,我没有创建Silverlight UI项目,也没有更改和构建或调试设置,所以我不知道什么是承载silverlight DLL。
最后,我需要编写的一些Silverlight类库将提供需要更高的脱离浏览器权限的功能。基于上述,看起来我可以对普通Silverlight 4.0类库使用TDD测试项目,但我不知道如何在不创建安装的UI组件的情况下TDD提升的OOB功能。UI片段实际上并不是库开发所需要的,而是阻碍了我真正想要的TDD。我知道我可以(也会)嘲笑其中的一些功能,但在某一时刻,我也需要在我的测试中实现真正的功能。第三个问题:如何处理需要OOB提升权限的TDD Silverlight 4.0类库项目?
谢谢!
发布于 2010-03-30 03:49:06
SL4肯定支持TDD,我建议您查看MEF的源代码或SL4的CAL源代码。
https://stackoverflow.com/questions/2542705
复制相似问题