1、控制面板— 管理工具— 数据源(ODBC);
4、点击“选择”按钮— 寻找你的数据库地址和选中(注意,请先备份自己的ACCESS数据库),然后确定;
5、打开SQL2000企业管理器,进入数据库,新建一个空的数据库“JKSJK”;
6、选择要导入的SQL数据库表,按鼠标右键,选择“所有任务”下“导入数据”,按“下一步”继续;
7、设置源数据:在数据库源下拉单中,选择”Driver do microsoft Access(*.mdb)“,在”用户/系统DSN“中,选种你刚才添加的”JKSJK“,按 ”下一步“;
8、设置目的数据:“目的”不需要修改,选择服务器(一般下为自己的本机“local“,也可以选择服务器地址或者局域网地址,确定你的权限是否可以操作,),“使用WINDOWS 身份验证“指用自己的系统管理员身份操作,“使用SQL身份操作验证“可以用于网站的操作,推荐用后者; 选上 “ 使用SQL身份操作验证” 后,填写你的用户名和密码,我自己选择的是系统默认号码“sa”,“****”,数据库选择刚新建的“JKSJK“,按”下一步“;
9、这一步的两个单项选择,“从数据源复制表和视图“与“用一条查询指令指定要传输的数据“,选择前者,按“下一步“继续;
10、这里将出现你自己ACCESS数据库的表,按“全选“后,下一步;
11、“DTS导入/导出向导“,看“立即运行“被选中按“下一步“,
12、按“完成“继续;这个步骤你将看到你的数据被导入SQL2000里面,当出现“已经成功把XXX个表导入到数据库“的字样,而且所有的表前面都有绿色的勾,就表示成功导入所有数据,如果中途出现问题或者表前面有红色的叉的话,说明该表没有成功导入,这时就要回去查看自己的操作是否正确了.
1.由于SQL2000里面没有“自动编号“,所以你的以“自动编号“设置的字段都会变成非空的字段,这就必须手工修改这些字段,并把他的“标示“选择“是“,种子为“1“,增量为“1“;
2.另外,ACCESS2000转换成SQL2000后,原来属性为“是/否“的字段将被转换成非空的“bit“,这时候你必须修改成自己想要的属性了;
通过创建和运行单元测试,检查你的代码是否按预期工作。 因为可将程序的功能分为可作为单个单元测试的独立可测试行为,所以它叫做单元测试。 Visual Studio 测试资源管理器提供了一种灵活而高效的方法运行你的单元测试并在 Visual Studio 中查看其结果。 Visual Studio 为托管和本机代码安装了 Microsoft 单元测试框架。 使用 单元测试框架 创建单元测试,运行测试,并报告这些测试的结果。 进行更改后重新运行单元测试,以测试代码仍能正常工作。 Visual Studio Enterprise 可以使用 自动执行此操作,后者会检测受代码更改影响的测试,并在你输入时在后台运行它们。
作为软件开发工作流的组成部分时,单元测试对代码质量的影响最大。 只要你编写了一个函数或其他应用程序代码块,就可以创建单元测试用于验证对应于输入数据的标准、边界和不正确情况的代码的行为,而且用于检查代码所做的任何显式或隐式假设。 通过 测试驱动开发,你需要在编写代码前创建单元测试,这样你可以将单元测试用作设计文档和功能规范。
测试资源管理器还可以运行第三方和开放源代码单元测试框架,它们实现了测试资源管理器外接程序接口。 你可以通过 Visual Studio Extension Manager 和 Visual Studio 库添加其中许多框架。 有关详细信息,请参阅。
你可以从代码快速生成测试项目和测试方法,或者根据你的需要手动创建测试。 当使用 IntelliTest 浏览 .NET 代码时,可以生成测试数据和单元测试套件。 对于代码中的每个语句,将生成执行该语句的测试输入。 了解如何。
关于直接进入编码的单元测试的简介,请参阅以下主题之一:
在本文中,我们使用称为 MyBank
的虚构应用程序的开发作为示例。 无需使用实际代码按照本主题中的说明操作。 测试方法用 C# 编写,并通过用于托管代码的 Microsoft 单元测试框架进行呈现。 但是,这些概念很容易转移到其他语言和框架。
我们第一次尝试设计的 MyBank
应用程序包含表示个人帐户及其与银行交易的帐户组件,以及表示集合和管理单独帐户的功能的数据库组件。
我们创建包含两个项目的 MyBank
解决方案:
我们首次尝试设计 Accounts
的项目包含一个类来保存有关帐户的基本信息,以及指定任何类型的帐户的通用功能的接口的基本信息(如从该帐户存储和取出资产),以及从表示存款帐户的接口派生的类的基本信息。 首先,我们通过创建以下源文件开始帐户项目:
单击“确定”接受默认值以创建单元测试,或更改用于创建并命名单元测试项目和单元测试的值。 你可以选择默认添加到单元测试方法的代码。
在类的所有方法的新单元测试项目中创建单元测试存根。
现在继续了解如何,使你的单元测试有意义,以及任何你可能想要添加的额外单元测试,以全面测试你的代码。
单元测试项目通常会镜像单个代码项目的结构。 在 MyBank 示例中,你将把名为 AccountsTests
和 BankDbTests
的两个单元测试项目添加到 MyBanks
解决方案中。 测试项目名称是任意的,但采用标准命名约定是一个好主意。
若要向解决方案中添加单元测试项目:
在“新建项目”对话框中,展开“已安装”节点,选择要用于测试项目的语言,然后选择“测试” 。
若要使用 Microsoft 单元测试框架之一,请从项目模板的列表中选择“单元测试项目” 。 否则,请选择你想要使用的单元测试框架的项目模板。 若要测试我们的示例中的 Accounts
项目,你需要将该项目命名为 AccountsTests
。
并非所有第三方和开放源代码单元测试框架都提供 Visual Studio 项目模板。 有关创建项目的信息,请参阅框架文档。
在项目模板搜索框中键入“测试”,查找你要使用的测试框架的单元测试项目模板。 (在本主题的示例中,我们将使用 MSTest。)
在下一页上,为项目命名。 若要测试示例中的 Accounts
项目,则需要将该项目命名为 AccountsTests
。
在你的单元测试项目中,将引用添加到所测试项目的代码中,在我们的示例中应添加到帐户项目中。
若要创建代码项目的引用:
在解决方案资源管理器的单元测试项目中,右键单击“引用”或“依赖项”节点,然后选择“添加项目引用”或“添加引用”(以实际显示的内容为准)。
在“引用管理器”对话框中,打开“解决方案”节点,然后选择“项目”。 选择代码项目名称并关闭对话框。
每个单元测试项目包含类,用于镜像代码项目中类的名称。 在我们的示例中, AccountsTests
项目将包含以下类:
你使用的单元测试框架和 Visual Studio IntelliSense 将指导你完成为代码项目的单元测试编写代码。 若要在“测试资源管理器”中运行,大多数框架要求你添加特定的属性来识别单元测试方法。 框架还提供了一种方法,通常通过断言语句或方法属性,来指示测试方法是否已通过或失败。 其他属性标识可选的安装方法,即在类初始化时和每个测试方法和每个拆卸方法之前的安装方法,这些拆卸方法在每个测试方法之后和类被销毁之前运行。
AAA(准备、执行、断言)模式是编写待测试方法的单元测试的常用方法。
单元测试方法的 准备 部分初始化对象并设置传递给待测试方法的数据的值。
执行 部分调用具有准备参数的待测试方法。
断言 部分验证待测试方法的执行行为与预期相同。 对于 .NET, 类中的方法通常用于验证。
有关 Microsoft 单元测试框架的详细信息,请参阅以下主题之一:
如果使用的是 MSTest 框架,则可以使用 在单个测试方法上设置超时:
若要将超时设置为允许的最大值:
在生成测试项目时,测试将出现在“测试资源管理器”中。 如果“测试资源管理器”不可见,请选择 Visual Studio 菜单上的“测试”,然后依次选择“Windows”、“测试资源管理器”(或按 Ctrl + E,T)。
运行、编写和重新运行测试时,“测试资源管理器”将在“失败的测试”、“通过的测试”、“跳过的测试”和“未运行的测试”组中显示结果。 可以在工具栏中选择其他分组依据选项。
通过在全局级别的搜索框中的匹配文本或选择其中一个预定义的筛选器,你还可以在任何视图中筛选测试。 你可以在任何时间运行任何选定的测试。 测试运行的结果立即显示在资源管理器窗口顶部的通过/失败栏中。 在你选择测试时,会显示测试方法结果的详细信息。
“测试资源管理器”工具栏可帮助你发现、组织和运行你感兴趣的测试。
你可以选择“运行全部”(或按 Ctrl + R,V)来运行所有测试,或选择“运行”(Ctrl + R,T)来选择要运行的测试的子集。 选择一个测试,在测试详细信息窗格中查看该测试的详细信息。 选择右键单击菜单中的“打开测试”(快捷键: “F12” ),显示所选测试的源代码。
如果各个测试没有防止其以任何顺序运行的依赖项,则可使用工具栏上的 切换按钮来打开并行测试执行。 这可以显著降低运行所有测试所需的时间。
如果各个测试没有阻止其以任何顺序运行的依赖项,则可以在工具栏的设置菜单中启用并行测试执行。 这可以显著降低运行所有测试所需的时间。
要在每个本地生成后运行单元测试,请在标准菜单上选择“测试”,然后在测试资源管理器的工具栏上选择“生成后运行测试” 。 |
若要在每个本地生成后运行单元测试,请在“测试资源管理器”工具栏中打开设置图标并选择“生成后运行测试”。
当有大量的测试时,可在“测试资源管理器”搜索框中键入指定的字符串,以按该字符串筛选列表。 你可以通过从筛选器列表中选择以更多地限制筛选器事件。
若要按类别分组测试,请选择“分组依据” 按钮。 |
有关详细信息,请参阅。
问:如何调试单元测试?
答: 可以使用“测试资源管理器”为测试启动调试会话。 使用 Visual Studio 调试程序无缝地逐句通过代码将使你在单元测试和所测试项目之间来回反复。 若要开始调试:
在 Visual Studio 编辑器中,在想要调试的一个或多个测试方法中设置断点。
因为测试方法可以按任何顺序运行,请在你想要调试的所有测试方法中设置断点。
在“测试资源管理器”中,选择测试方法,然后从快捷菜单选择“调试选定的测试”。
问:如果使用的是 TDD,该如何从我的测试生成代码?
答: 使用快速操作在你的项目代码中生成类和方法。 在调用想要生成的类或方法的测试方法中编写语句,然后打开错误下面的灯泡。 如果调用新类的构造函数,请从菜单选择“生成类型”并按照向导在你的代码项目中插入此类。 如果调用方法,请从 IntelliSense 菜单选择“生成方法”。
问:我是否可以创建将多个数据集作为输入来运行测试的单元测试?
答: 是的。 数据驱动的测试方法 使你可以用单个单元测试方法测试一系列值。 对指定包含你想要测试的变量值的数据源和表的测试方法使用 DataSource
属性。 在方法体中,你可以使用
这些过程仅适用于你使用 Microsoft 单元测试框架为托管代码编写的测试方法。 如果使用的是不同的框架,请查阅框架文档,获取等效功能。
我们使用适当的值填充行数。
特性化的方法将为表中的每一行运行一次。 如果任何迭代失败,“测试资源管理器”将报告方法的测试失败。 该方法的测试结果详细信息窗格显示每行数据的通过/失败状态方法。
了解有关 的详细信息。
问:是否能查看我的单元测试测试了多少代码?
答: 是的。 可以使用 Visual Studio Enterprise 中的 Visual Studio 代码覆盖率工具确定你的单元测试实际测试的代码量。 支持本机和托管语言以及可由单元测试框架运行的所有单元测试框架。
你可以在选定的测试上或解决方案中的所有测试上运行代码覆盖率。 “代码覆盖率结果”窗口显示行、函数、类、命名空间和模块执行的产品代码块的百分比。
若要在解决方案中运行测试方法的代码覆盖率,请选择“测试” > “分析所有测试的代码覆盖率”。
覆盖率结果将显示在“代码覆盖率结果”窗口中。
问:能否在具有外部依赖项的代码中测试方法?
Microsoft Fakes 使用两种方法为外部依赖项创建替代类:
存根 (stub) 生成派生自目标依赖关系类的父接口的替代类。 可以将存根 (stub) 方法替换为目标类的公共虚拟方法。
填充码 使用运行时检测将对目标方法的调用转移到非虚拟方法的替代填充码方法。
通过这两种方法,你可以使用对依赖关系方法的调用所生成的委托,指定测试方法中所需的行为。
了解有关 的详细信息。
问:是否可以使用其他单元测试框架创建单元测试?
答: 可以,请按照下列步骤 。 在重新启动 Visual Studio 后,重新打开解决方案以创建单元测试,然后在此处选择你已安装的框架:
将使用选定的框架创建单元测试存根。