我正在尝试使用rspec的 .NET 测试框架,并希望为此在 Visual Studio 中实现自定义编辑器。
对于初学者来说,rspec 是 ruby 的测试框架,测试(或规范)看起来像这样:
describe Bowling, "#score" do
it "returns 0 for all gutter game" do
bowling = Bowling.new
bowling.hit(0)
bowling.score.should eq(0)
end
end
在 ruby 中,可以将 rspec 测试编写为块嵌套的匿名函数,而无需任何封闭的方法或类——这由运行时幕后的框架处理。
我想在 Visual Studio 2012 和/或 2013 中按照这些思路做一些事情。完整的 C# 测试文件可能如下所示:
using System;
using BowlingApp;
using Specs;
@spec DefaultSpec
Describe(typeof(Bowling), "#score", () => {
It("returns 0 for all gutter game", () => {
var bowling = new Bowling();
bowling.Hit(0);
Expect(bowling.Score).ToEqual(0);
});
});
...其中@spec
语句指定将在幕后生成的“封闭”类型的基类(在这种情况下是在设计时)。基类还将提供上例中使用的Describe
,It
和Expect
方法。
为了使这个测试框架实用起来,我需要一个针对上述格式的自定义 VS 编辑器,带有语法突出显示和智能感知。
是否可以“重新利用”VS 中现有的 C# 编辑器来执行此操作,还是我必须从头开始做所有事情?如果是这样,是否有任何开源工具或框架可以帮助我创建这样的编辑器?