tcm: Importing Automated Tests into Test Cases
You can import automated tests, such as unit tests or coded UI tests, into your test project to use as part of a test plan. The tests are imported from a test assembly using the following tcm command:Unknown List Class
Each automated test that you select, based on the parameters provided, has a test case created for it. The automated test is automatically associated with that test case. You can add test cases to a static test suite by using this command, or you can add test cases to test suites after you have imported them. For more information about how to add test cases to test suites, see How to: Add a Test Case to a Test Suite. You can also link these test cases to requirements, so that you can view the status of automated tests for the requirement. For more information about how to do this, see Link Existing Test Cases to a Requirement.
For more information about how to run automated tests from a test plan, see Essential Guide for Running Automated Tests from a Test Plan.
tcm.exe is located in <Drive:>\Program Files\Microsoft Visual Studio 10.0\Common7\IDE on any machine that has Visual Studio Ultimate installed.
You can also update existing imported test cases by using this command. If the test cases that you selected to update do not include tests that were previously imported, only the selected test cases are updated. If you specify a test suite to synchronize with when you update the test cases, the tests that are not imported are removed from the test suite but not the test plan itself.
tcm testcase /import /collection:CollectionURL /teamproject:project /storage:path [/maxpriority:priority] [/minpriority:priority] [/category:filter] [/syncsuite:id [/include:]] [/login:username,[password]]
Specifies the URI of the team project collection. The format for the URI is as follows: http://ServerName:Port/VirtualDirectoryName/CollectionName
If no virtual directory is used, then the format for the URI is as follows:
The name of the team project that contains the test plan that you want to import your automated tests into.
Specifies the path and name of the test assembly that contains your automated tests that you want to import.
Optional. Specifies which tests to import based on the maximum priority of the test method. For example, if the parameter is /maxpriority:1, only tests with a priority attribute for the test method less than or equal to 1 are imported as test cases from the assembly.
Optional. Specifies which tests to import based on the minimum priority of the test method. For example, if the parameter is /minpriority:2, only tests with a priority attribute for the test method equal or greater than 2 are imported as test cases from the assembly.
Optional. Specifies which tests to import based on the category of each test method in the test assembly. You can use this parameter together with /syncsuite to import tests with a certain category into a specific test suite.
For more information about test categories see Defining Test Categories to Group Your Tests.
Optional. Specifies the suite ID for the test suite in your test plan to which you want to add the test cases that you import. This suite cannot be a dynamic suite or a query-based suite. If you specify a test suite to synchronize to update tests that have already been added, the tests that are not imported are removed from the test suite but not from the test plan itself.
To determine the suite id for the test suite that you want to use, you can use the following command to list the test suites in your team project:
tcm suites /list
For more information about this command, see tcm: Listing test plans, test suites, test configurations, and environments.
Optional. Specifies that test methods that are marked with an Ignore() attribute are also imported.
Optional. Specifies the name and password of a user who is logged on to the application-tier server for Team Foundation Server and who has permissions to run the command. You would use this option if your Windows credentials do not have the appropriate permissions, or you are using basic authentication, or you are not connected to a domain.
You can add parameters for /collection and /teamproject to the tcm.exe.config XML file which is located in the same directory as tcm.exe: <Drive:>\Program Files\Microsoft Visual Studio 10.0\Common7\IDE. If you add these to the file, you do not have to enter them on the command line each time you run a tcm command. You can add these keys and their values to the file, as follows, in the appSettings section:
<appSettings> <add key="TeamFoundationServer" value="http://<ServerName:Port/VirtualDirectoryName/CollectionName>"/> <add key ="TeamProject" value="DinnerNow"/> </appSettings>
The following examples assume that you have started a Visual Studio command prompt.
To do this, click Start, point to All Programs, point to Microsoft Visual Studio 2010, point to Visual Studio Tools, and then click Visual Studio Command Prompt (2010).
The command prompt opens to the folder: <drive>:\Program Files\Microsoft Visual Studio 10.0\VC
Change directory to the folder that contains the assembly built from your test project.
The following command imports tests from the TestProject1.dll into the DinnerNow team project:
tcm testcase /import /collection:http://<Team Foundation Server Name>:8080/tfs/<team project collection name> /teamproject:DinnerNow /storage:TestProject1.dll
The following command imports only the test cases with a priority of 1:
tcm testcase /import /collection:http://<Team Foundation Server Name>:8080/tfs/<team project collection name> /teamproject:DinnerNow /storage:TestProject1.dll /maxpriority:1
The following command imports only the test cases in the SmokeTest and ShoppingCart categories and adds them to the test suite with id of 3:
tcm testcase /import /collection:http://<Team Foundation Server Name>:8080/tfs/<team project collection name> /teamproject:DinnerNow /storage:TestProject1.dll /category:"ShoppingCart&SmokeTest" /syncsuite:3