|
通过编码招式和行为驱动开发,我受到了一些启迪,感觉良好。然而,当我意识到如果以后我就用这种方式编写单元测试、进行开发工作,那会相当痛苦,因为每次都要引入Eric Lee的ContextSpecification。如果我可以简单地选定一个BDD的单元测试项目,然后项目创建后我就拥有了所有项目所需的文件,那就容易多了。稍作查询之后,我找到了一些项目模板导出向导(Project Template Export Wizard)的参考资料,似乎这就是最适合我的解决方案。
为了能试试这个例子,你要从Visual Studio Gallery上下载并安装Export Template Wizard(在Gallery站点上查询Export Template Wizard)。这是一个微软免费的Visual Studio扩展,可以将一个现有的项目导出成项目模板。
在我们创建第一个模板前,先看看一些已有的模板,了解一下我们可能需要什么,这对我们来说是很重要的。
安装好Visual Studio后,它的模板位于以下目录:
- /VisualStudioInstallationDirectory/Common7/IDE/ItemTemplates/Language/Locale/
- /VisualStudioInstallationDirectory/Common7/IDE/ProjectTemplates/Language/Locale/
例如,下面这个目录包含了英文版Visual Studio的项目模板:
- C:/Program Files/Microsoft Visual Studio 10.0/Common7/IDE/ItemTemplates/CSharp/1033/
此外,当你安装一个模板的时候(通常通过双击.vsix文件——微软Visual Studio扩展文件),它会被安装到以下文件夹:
- /User Documents and Settings Directory/Local Settings/Application Data/Microsoft/VisualStudio/10.0/Extensions
模板提示:
使用注册表编辑器,查看以下键,你会看到所有已安装的Visual Studio 2010扩展:
HKCU/Software/Microsoft/VisualStudio/10.0/ExtensionManager/EnabledExtensions
Visual Studio启动时会自动更新这里的注册项。如果我们删除掉某个扩展(比如,删除某个扩展的目录),Visual Studio下次启动时会更新注册表中的有关项。
你会看到,所有模板的内容都存储在ZIP文件中,这有助于有条理地“把所有东西都放在一起”。当你检查这些ZIP文件时,你会注意到它们至少都包含一个.vstemplate文件,可以认为这就是模板的配置文件。
考虑到我们的目的,我们对BasicUnitTest模板中的内容有所兴趣,此模板位于:
C:/Program Files/Microsoft Visual Studio 10.0/Common7
- /IDE/ItemTemplates/CSharp/1033/BasicUnitTest.zip
查看VS 2010中的现有模板时,会注意到在代码文件中(比如AssemblyInfo.cs),有一些特殊的关键字。在下面的代码示例中,高亮显示的文本说明了不同的模板参数关键字:
using System;
using System.Text;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ == 3.5)using System.Linq;$endif$
$if$ ($targetframeworkversion$ == 4.0)using System.Linq;$endif$
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace $rootnamespace$
{
[TestClass]
public class $safeitemname$
{
[TestMethod]
public void TestMethod1()
{
}
}
}
NET技术:使用编码招式(Coding Katas)、BDD和VS2010项目模板,转载需保留来源!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。