测试区域 3:签出/撤消签出

此源代码管理插件测试区域介绍如何通过 签出撤消签出 命令编辑和还原版本存储中的项目。

签出:将版本库中的项目标记为签出,并将本地副本改为读/写模式。

撤消签出:将版本存储中的项目标记为已签入,将本地副本还原为签出前的状态(具体取决于选项)。

命令菜单入口

测试用例中使用以下 Visual Studio 集成开发环境菜单路径。

退房:
  • 文件源代码管理签出

  • 文件签出

  • 快捷方式菜单, 签出

  • 撤消签出: 文件源代码管理撤消签出

常见预期行为

  • 签出操作后,目标文件和/或文件夹在版本存储中被标记为已签出。

  • 版本存储将结账归属到正确的用户。

  • 签出的时间和日期正确(根据用户的设置)。

测试用例

以下是签出/取消签出测试领域的特定测试用例。

案例 3a:签出

本部分重点介绍签出命令的操作。

Action 测试步骤 要验证的预期结果
签出独占 (COE) 客户端项目 1.创建客户端项目。
2.将解决方案添加到源代码管理。
3.完全签出整个项目(文件签出)。
检出。
独占签出 (COE) 文件系统或本地 IIS Web 项目 1. 在 工具选项项目Web 设置中将 Web 服务器连接设置为文件共享。
2.创建 Web 项目。
3.将解决方案添加到源代码管理。
4. 独占签出整个项目(文件源代码管理签出)。
签出。
查看解决方案中的解决方案项(用于处理其他文件的新方法) 1.创建空白解决方案。
2.将解决方案添加到源代码管理。
3.查看解决方案。
4.添加多个解决方案项。
5. 签入所有新添加的项目。
6.选择多个解决方案项。
7. 使用快捷菜单签出所选项目(签出)。
已签出所选文件。
查看本地版本(如果测试中的插件支持此功能) 1. 用户 1:创建客户端项目。
2.用户 1:将解决方案添加到源代码管理。
3.用户 2:将解决方案从源代码管理打开到另一个位置。
4. 用户2:签出文件。
5. 用户 2:修改文件。
6. 用户 2:签入文件。
7. 用户 1:签出文件的本地版本(在“签出”对话框中选中“签出本地版本”高级选项)。
本地版本的文件已签出。

用户 2 的修改不适用于用户 1 文件。

案例 3b:已断开连接签出

在断开连接模式下操作时,可以让用户在未直接连接到版本存储时享受某种级别的持续版本控制支持。 这是通过本地缓存有关登记的解决方案和项目的所有相关信息来完成的。

仅当连接到源代码管理存储时,才会发生独占签出操作。 无论是否连接,都可以随时执行共享签出操作。 因此,当与版本存储断开连接时,仅启用“签出共享”(COS)命令。 断开连接时, “撤消签出 ”被禁用,因为无法检索旧版本来替换用户所做的更改。

当用户重新连接到版本库时,将同步所有注册的解决方案和项目的签出状态。 这会对商店进行必要的更新,以便对用户已完成的结账进行处理。 同步发生后,用户能够继续正常工作(已连接)。

预期行为

  • 在与版本存储断开连接时,无法使用 Check Out Exclusively 命令。

  • 在与版本存储断开连接时,无法使用 “撤消签出 ”命令。

  • 共享签出 命令有效。

Action 测试步骤 要验证的预期结果
断开连接时,借用文件,然后重新连接进行同步。 1.使用“更改源代码管理”对话框(文件源代码管理更改源代码管理)断开受控项目的连接。
2. 检查文件。
3. 在警告对话框中单击“签出”(已断开连接)。
4.编辑文件。
5. 使用“更改源代码管理”对话框进行连接。
6.获取已编辑文件的最新版本。
常见预期行为

案例 3c: 查询编辑/查询保存(QEQS)

源代码管理下的项会跟踪编辑、更改和保存,以帮助用户轻松管理其文件。 编辑已经“签入”的受控文件时,QEQS 会拦截编辑尝试,并询问用户是否要将文件“签出”以便进行编辑。 根据 工具选项 设置,用户要么被迫签出文件以便编辑,要么可能允许在内存中编辑副本,稍后再签出。 如果用户Tools“选项”设置未设置为显示“签出”对话框,同时直接签出,那么在用户编辑时,文件将在可能的情况下自动签出。

预期行为

  • 签出操作后,目标文件和/或文件夹在版本存储中被标记为已签出。

  • 版本库将签出的操作指派给正确的用户。

  • 签出的时间和日期正确(根据用户的设置)。

  • 目标文件或文件夹的本地副本是可写的。

Action 测试步骤 要验证的预期结果
编辑签入的文本文件 1.创建包含文本文件的新项目。
2.将解决方案添加到源代码管理。
3. 设置 工具选项源代码管理,取消勾选 允许在磁盘上只读时编辑文件
4. 设置工具选项源代码管理,并在已签入文件被编辑时的组合框中选择提示签出
5. 在工具选项源代码管理签入文件保存时组合框中设置签出提示
6. 在编辑器中打开文本文件,尝试在文件中键入新文本。 如果此步骤成功,请继续执行下一步。
7. 在“签出以供编辑”对话框中单击“取消”。 如果此步骤成功,请继续执行下一步。
8. 设置 工具选项源代码管理,勾选允许在磁盘上编辑只读文件
9. 在编辑器中打开项目文件,尝试在文件中键入新文本。 如果此步骤成功,请继续执行下一步。
10. 在“签出以供编辑”对话框中单击“编辑”。 如果此步骤成功,请继续执行下一步。
11. 编辑文本文件并尝试保存它。
Result of step 6:

此时会显示“编辑”对话框。

Result of step 7:

文件保持不变。

Result of step 9:

此时会显示“编辑”对话框。

Result of step 10:

可以在内存中编辑项目文件。

Result of step 11:

保存时,将显示“保存时签出”对话框。
编辑签入的解决方案文件 重复上述测试中所述的步骤,但不要修改文本文件,而是通过更改解决方案属性来修改解决方案。 与以前的测试相同
编辑签入的项目文件 重复上述测试中所述的步骤,但不要修改文本文件,而是通过更改项目属性来修改项目。 与以前的测试相同。

案例 3d:无提示签出

此子区域涵盖了在用户的工具选项源代码管理设置中未显示签出对话框的情况。

预期行为

  • 签出操作后,目标文件和/或文件夹在版本存储中被标记为已签出。

  • 版本库将签出的操作指派给正确的用户。

  • 签出的时间和日期正确(根据用户的设置)。

  • 目标文件或文件夹的本地副本是可写的。

Action 测试步骤 要验证的预期结果
文件的自动签出 1.设置 工具选项源代码管理在编辑时自动签出文件
2.使用文件创建新项目。
3.将解决方案添加到源代码管理。
4.检查文件。
文件以无提示方式签出(无 UI)。
项目的无提示签出 1.设置 工具选项源代码管理在编辑时自动签出文件
2.创建新项目。
3.将解决方案添加到源代码管理。
4.查看项目。
文件以静默方式签出(无 UI)。

案例 3e:撤消签出

撤消签出 用于取消文件的签出状态,并避免签入对文件所做的更改。

预期行为

  • 默认值基于用户的“签出本地版本”设置。 如果用户选择签出本地版本,那么撤消签出的默认设置将始终还原到该签出的版本。

  • 接受撤消后, 解决方案资源管理器 中的图标会针对受影响的文件进行更新,并且该项目将从 “挂起的签入 ”窗口中删除。

Action 测试步骤 要验证的预期结果
取消独占签出的单个文件 1.创建客户端项目。
2.将解决方案添加到源代码管理。
3.以独占方式检出文件。
4.修改文件。
5.撤消签出(文件源代码管理撤消签出)。
常见的预期行为。
撤消签出的共享单个文件 1.创建客户端项目。
2.将解决方案添加到源代码管理。
3. 查看共享的文件。
4.修改文件。
5.撤消签出(文件源代码管理撤消签出)。
常见的预期行为。
将文件添加到项目后撤消签出项目 1.创建新项目并将其添加到源代码管理。
2.查看项目。
3.向项目添加文件。
4.撤消项目的签出。
已添加的文件将从解决方案资源管理器中的项目中删除。

项目不再检出。
在从项目中删除文件后撤销项目的签出 1.创建新项目并将其添加到源代码管理。
2.查看项目。
3.从项目中删除文件。
4.撤消项目的签出。
已删除的文件显示在解决方案资源管理器中的项目下。

项目不再检出。