将C#单元测试名称转换为英语(testdox样式)

将C#单元测试名称转换为英语(testdox样式),c#,unit-testing,tdd,bdd,C#,Unit Testing,Tdd,Bdd,我有一大堆用MbUnit编写的单元测试,我想从测试名称中生成简单的英语句子。这里介绍了这一概念: 这是文章的大意: public class CustomerLookupTest extends TestCase { testFindsCustomerById() { ... } testFailsForDuplicateCustomers() { ... } ... } 呈现如下内容: CustomerLookup -

我有一大堆用MbUnit编写的单元测试,我想从测试名称中生成简单的英语句子。这里介绍了这一概念:

这是文章的大意:

public class CustomerLookupTest extends TestCase {
    testFindsCustomerById() {
        ...
    }
    testFailsForDuplicateCustomers() {
        ...
    }
    ...
}
呈现如下内容:

CustomerLookup - finds customer by id - fails for duplicate customers - ... 顾客lookup -按id查找客户 -对重复客户失败 - ... 不幸的是,上述文章中引用的工具(testdox)是基于Java的。有适合.NET的吗

听起来这将是一个非常简单的编写,但我只是没有带宽,想使用已经编写的东西

编辑:只是为了澄清问题。我正在研究一种可以快速通过现有测试并将CamelCase函数名转换成句子的方法。对于某种Gallio插件来说,这似乎是一个完美的工作


到目前为止,我不知怎么找到了,Jay建议使用BDDDoc。这两个都是行为验证框架,需要对现有测试进行重大重写。我们的团队决定使用SpecFlow作为主要的BDD框架,我试图实现的是生成一份现有测试的报告,看看它是否适合BDD方法。

看看JP Boodhoo开发的
developwithpassion.BDD
bdddoc

他的原始博客帖子如下:

您可以在github上的以下位置找到代码:

我使用他的测试框架,BDDDoc生成简单的英文HTML报告,甚至通过绑定到mbUnit和Gallio报告中来显示测试是否通过

不过,格式是每个装置都有一个
关注点
属性,供bdddoc拾取和分组规格

当声音系统关闭时,我的装置被命名为“公共类”,而我的断言是类型为“它”的委托(从框架中),所以他们读到“它不应该旋转”的光盘…,“它应该不发出声音…”,等等


BDDDoc使用下划线语法,但我认为既然您已经在使用mbUnit,您可能可以提取一些有趣的代码,并根据您的需要进行定制。

StoryQ有一个很好的工作流程-我知道这并不能直接回答您的问题,但可能值得一看…

在去年的一次演示中,我创建了一个小的BDD单元测试助手,它显示了在中执行的方法名称普通英语。它的弦魔法部分很薄,所以你肯定可以从中提取出来

这是我的帖子,带有下载链接:

有一个 这似乎是最近的(2010)。

这个C#测试框架在将方法转换为英语方面也做得很好

UBADDAS-用户行为和域驱动的接受故事

在这里找到-

转换此

[Test]
public void IWantToRegisterANewUser()
{
  ICustomer customer = new Customer();

  SoThat(MyBusinessValue.IncreaseCustomerBase)
    .As(new User())
    .Given(customer.Register)
    .When(customer.Confirm_Registration)
    .Then(customer.Login);
}
对此

I want to register a new user
  So that Increase customer base
       As user
    Given Register customer
     When Confirm customer registration
     Then Login customer

啊哈,这正是我一直在寻找的。当使用代码的“字符串魔术”部分时,是否有任何许可证可以遵守?这真的很好,我想在我的工作中使用它来进行单元测试去归属化,但我不想侵犯任何版权等。