首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以使用MSpec来测试.net微框架项目吗?

可以使用MSpec来测试.net微框架项目吗?
EN

Stack Overflow用户
提问于 2011-10-16 07:33:43
回答 2查看 285关注 0票数 1

我希望能够使用MSpec或其他BDD/TDD框架来测试针对.net微框架的代码。不幸的是,在非MF程序集中引用MF(微框架)程序集是不可能的。这是一种遗憾,因为它只是C#代码,而单元测试在这种情况下会非常有用。有没有人想出一种方法来为.net微框架项目做单元测试(最好是用MSpec)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-25 05:40:22

我下载了最新的Machine.Specifications并将所有代码移到了一个微框架类库项目中。我只得到323个编译错误。需要改变的事情的简短清单...

  1. No extension methods
  2. No generics
  3. No LINQ
  4. No custom attributes
  5. 无表达式树

在这个.NET框架家族上重建MSpec值得吗?可能不会。这是作者/提交者想要跟上的东西吗?可能不会。

我尝试基于此goofy forum thread自定义项目类型GUID和CSharp导入,但最终出现了一系列错误。包括"unsupported by the compiler error“。

D:\TestableMicroLibrary\TestableMicroLibrary.Tests\MMP 0x81010009的

错误4

我想你得自己动手了。对测试类/方法使用约定和反射(这是唯一剩下的事情)。您可以继续使用行为驱动的样式,如test case class per fixture

代码语言:javascript
复制
public class When_doing_something_neat
{
    public void It_should_frob_the_widget() 
    {
        Assert.IsTrue(_widget.IsFrobbed);
    }
}

并重新构建整个Assert/shoul库(记住,没有扩展方法!)。

代码语言:javascript
复制
public static class Assert
{
    public static void IsTrue(bool thing)
    {
        if(!thing) throw new AssertionException("It is not true");
    }
}
票数 2
EN

Stack Overflow用户

发布于 2011-11-10 17:10:00

另一个选择是在微框架中创建一个虚拟的“正常”.Net3.5/.Net4.0项目,这有点麻烦,可能不适合。由于微框架C#几乎是所有源代码兼容的,你也可以将源文件添加到虚拟项目中--也就是说,源文件将同时属于两个项目。然后,使用#IFDEFS需要一些最小的条件编译,例如围绕Microsoft.Spot名称空间包含。

在这一点上,虚拟项目是完全可测试的,可以使用任何普通的测试框架NUinit、Specflow等。显然,这种方法需要一定程度的谨慎和小心--注意主机字节顺序等问题,当然,这两个项目必须并行维护。

另一种选择是通过Emulator项目进行测试,这将是更彻底的方法。然而虚拟项目的方法肯定会有WRT快速开发、TDD等方面的好处。

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

https://stackoverflow.com/questions/7781389

复制
相关文章

相似问题

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