0

我正在尝试使用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,ItExpect方法。

为了使这个测试框架实用起来,我需要一个针对上述格式的自定义 VS 编辑器,带有语法突出显示和智能感知。

是否可以“重新利用”VS 中现有的 C# 编辑器来执行此操作,还是我必须从头开始做所有事情?如果是这样,是否有任何开源工具或框架可以帮助我创建这样的编辑器?

4

1 回答 1

0

有没有简单的方法来做到这一点?不,你可以用投影缓冲区做这样的技巧,但它真的,真的很难做对。

于 2013-10-21T20:52:29.470 回答