首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Visual 2010 RC执行TDD Silverlight 4 RC

使用Visual 2010 RC执行TDD Silverlight 4 RC
EN

Stack Overflow用户
提问于 2010-03-30 03:28:34
回答 1查看 1.1K关注 0票数 1

基于反馈是的编辑,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单元测试项目,而是普通测试项目)。

在测试项目中添加一个简单的测试,例如:

代码语言:javascript
复制
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项目中生成以下代码:

代码语言:javascript
复制
namespace Calculator
{
    public class Calc
    {
        public int Add(int p, int p_2) {
            throw new NotImplementedException();
        }
    }
}

当我第一次运行测试时,它说目标程序集是Silverlight,无法运行测试--不是精确的文本,而是相同的一般概念。

当我将实现更改为:

代码语言:javascript
复制
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类库项目?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-30 03:49:06

SL4肯定支持TDD,我建议您查看MEF的源代码或SL4的CAL源代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2542705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档