我正在做一些架构清理,涉及将一堆类移动到不同的项目和/或命名空间.目前我正在手动移动文件,构建,然后根据需要手动添加使用Foo语句来解决编译错误.有人知道这样做的更聪明的方法吗?(我们是CodeRush和Refactor!商店,但我很想知道Resharper是否支持这个)
我目前组织单元测试的方法归结为以下几点:
BusinessLayer,有一个BusinessLayer.UnitTests测试项目.CustomerRepository命名空间下BusinessLayer.Repositories,有一个测试类CustomerRepositoryTests的命名空间BusinessLayerUnitTests.Repositories.每个测试类中的方法遵循简单的命名约定MethodName_Condition_ExpectedOutcome.因此,类CustomerRepositoryTests包含一类测试CustomerRepository与Get定义方法如下所示:
[TestFixture]
public class CustomerRepositoryTests
{
[Test]
public void Get_WhenX_ThenRecordIsReturned()
{
// ...
}
[Test]
public void Get_WhenY_ThenExceptionIsThrown()
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
这种方法对我很有用,因为它使得对某些代码的定位测试非常简单.在相反的网站上,它使代码重构变得非常困难,应该是:
有没有组织单元测试仍然让我找到测试特定的代码迅速的一些巧妙的方式,并在同一时间更借本身对重构?
或者,是否有一些,呃,也许是Visual Studio扩展,这将允许我以某种方式说"嘿,这些测试是针对该方法的,所以当方法的名称发生变化时,请非常友好并改变测试" ?说实话,我正在认真考虑写自己的东西:)