小编Joh*_*ski的帖子

如何使用MSTest/xUnit框架编写上下文/规范样式单元测试?

我一直在使用MSpec编写我的单元测试,并且更喜欢BDD风格,我认为它更具可读性.我现在正在使用MSpec不支持的Silverlight,所以我不得不使用MSTest,但仍然希望保持BDD风格,所以我想尝试一种方法来做到这一点.

只是为了解释我想要实现的目标,这就是我如何编写MSpec测试

[Subject(typeof(Calculator))]    
public class when_I_add_two_numbers : with_calculator
{
  Establish context = () => this.Calculator = new Calculator();
  Because I_add_2_and_4 = () => this.Calculator.Add(2).Add(4);
  It should_display_6 = () => this.Calculator.Result.ShouldEqual(6);
}

public class with_calculator
{
  protected static Calculator;
}
Run Code Online (Sandbox Code Playgroud)

因此,对于MSTest,我会尝试像这样编写测试(虽然你可以看到它不起作用,因为我已经输入了2个TestInitialize属性,但是你得到了我正在尝试做的...)

[TestClass]
public class when_I_add_two_numbers : with_calculator
{
   [TestInitialize]
   public void GivenIHaveACalculator()
   {
      this.Calculator = new Calculator();
   }

   [TestInitialize]
   public void WhenIAdd2And4()
   {
      this.Calculator.Add(2).Add(4);
   }

   [TestMethod]
   public void ThenItShouldDisplay6()
   {
      this.Calculator.Result.ShouldEqual(6);
   }
}

public class with_calculator
{
  protected Calculator Calculator {get;set;} …
Run Code Online (Sandbox Code Playgroud)

c# bdd unit-testing mstest mspec

23
推荐指数
1
解决办法
7740
查看次数

ASP.NET MVC 4捆绑包不能在mono v3下运行

WebOptimization framewooks似乎在发布模式下的mono下无法正常工作

WebOptimization framewooks似乎在发布模式下的mono下无法正常工作

但是,如果我在web中设置debug ="true"选项,它可以正常工作.配置

我尝试通过互联网找到不同的东西来修复IIS上的这个问题,如设置模块:

 <modules runAllManagedModulesForAllRequests="true">
  <remove name="BundleModule" />
  <add name="BundleModule" type="System.Web.Optimization.BundleModule" />
</modules>
Run Code Online (Sandbox Code Playgroud)

似乎路线未正确注册.请指教.

asp.net mono asp.net-mvc-4

12
推荐指数
1
解决办法
1483
查看次数

AMD模块整形:如何只加载一个JS函数?

许多JavaScript库都有一个Builder工具,它允许您"塑造"您所依赖的库的哪些功能,包括客户端的下载带宽成本和隔离实际需要的功能.

例如,我喜欢sugar.js中的很多东西,但我根本不需要或想要片假名和平假名字符集处理.作为最简单的例子,我希望能够"塑造"sugar.js以仅导出string.isBlank().

有没有可以为我这样做的工具?在未来的JavaScript版本中,EcmaScript委员会是否正在继续努力做这样的事情?像TypeScript和CoffeeScript这样的高级语言是否为这种"整形"提供了隐藏的支持?我可以通过monolinker在C#for .NET DLL中进行这样的"整形" .

基本上,它看起来像AMD处理现代编译器的Loader方面,但不处理链接器方面.jquerydojo的构建器只适用于特定的模块,并不是真正的连接器,只是构建器.

更新: Google Closure Compiler是一个编译器,它将JavaScript作为输入并生成JavaScript作为输出.的高级编译和实习医生文档建议有一个API调用来做到这一点:

如果将这些导出语句放在一起看起来太单调乏味,您可以使用函数为您进行导出.有关导出函数的示例,请参阅Closure Library函数goog.exportSymbol()goog.exportProperty().

但是,这看起来很复杂,让我直接依赖于Google Closure Compiler.在这一点上,我正在寻找关于EcmaScript委员会关于CommonJS的未来标准的信息,以及那些思考这个问题并试图解决它的人的任何智慧.特别是来自TypeScript开发人员; 我不想在TypeScript中为sugar.js创建声明文件,然后对我的TypeScript编译器输出使用Google Closure Compiler.它听起来很复杂,难以调试.

javascript amd typescript

11
推荐指数
1
解决办法
375
查看次数

EF7支持枚举吗?

我有EF7 RC1的问题.我无法在模型中使用枚举.我可以保存枚举属性.该值将转换为int.我的问题是在数据读取期间我得到了无效的强制转换异常.

  1. EF7是否支持枚举属性?
  2. 如何使用流畅的api配置它?

谢谢

编辑:

枚举:

  public enum LimitMode 
    {
        Max,
        Min,
        MaxAndMin,
    }
Run Code Online (Sandbox Code Playgroud)

模型:

  public class SomeModel 
    {
    (..)
    public LimitMode LimitMode {get; set;}
    }
Run Code Online (Sandbox Code Playgroud)

SomeModel的ModelBuilder:

        modelBuilder.Entity<SomeModel>(entity => {
            (...)
            entity.Property(p => p.LimitMode);
        })
Run Code Online (Sandbox Code Playgroud)

entity-framework entity-framework-core

6
推荐指数
2
解决办法
7912
查看次数