我一直在使用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) 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)
似乎路线未正确注册.请指教.
许多JavaScript库都有一个Builder工具,它允许您"塑造"您所依赖的库的哪些功能,包括客户端的下载带宽成本和隔离实际需要的功能.
例如,我喜欢sugar.js中的很多东西,但我根本不需要或想要片假名和平假名字符集处理.作为最简单的例子,我希望能够"塑造"sugar.js以仅导出string.isBlank().
有没有可以为我这样做的工具?在未来的JavaScript版本中,EcmaScript委员会是否正在继续努力做这样的事情?像TypeScript和CoffeeScript这样的高级语言是否为这种"整形"提供了隐藏的支持?我可以通过monolinker在C#for .NET DLL中进行这样的"整形" .
基本上,它看起来像AMD处理现代编译器的Loader方面,但不处理链接器方面.jquery和dojo的构建器只适用于特定的模块,并不是真正的连接器,只是构建器.
更新: 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.它听起来很复杂,难以调试.
我有EF7 RC1的问题.我无法在模型中使用枚举.我可以保存枚举属性.该值将转换为int.我的问题是在数据读取期间我得到了无效的强制转换异常.
谢谢
编辑:
枚举:
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) amd ×1
asp.net ×1
bdd ×1
c# ×1
javascript ×1
mono ×1
mspec ×1
mstest ×1
typescript ×1
unit-testing ×1