将C#单元测试名称转换为英语(testdox样式)
我有一大堆用MbUnit编写的单元测试,我想从测试名称中生成简单的英语句子。这里介绍了这一概念: 这是文章的大意:将C#单元测试名称转换为英语(testdox样式),c#,unit-testing,tdd,bdd,C#,Unit Testing,Tdd,Bdd,我有一大堆用MbUnit编写的单元测试,我想从测试名称中生成简单的英语句子。这里介绍了这一概念: 这是文章的大意: public class CustomerLookupTest extends TestCase { testFindsCustomerById() { ... } testFailsForDuplicateCustomers() { ... } ... } 呈现如下内容: CustomerLookup -
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
啊哈,这正是我一直在寻找的。当使用代码的“字符串魔术”部分时,是否有任何许可证可以遵守?这真的很好,我想在我的工作中使用它来进行单元测试去归属化,但我不想侵犯任何版权等。