> **Note:** Test cases are classified into common test cases and device-specific test cases. You are advised to place common test cases in the **common** directory and device-specific test cases in the directories of the related devices.
...
...
@@ -200,7 +202,7 @@ Example:
```
/**
* @tc.name: integer_sub_001
* @tc.desc: Verify the subfunction.
* @tc.desc: Verify the sub-function.
* @tc.type: FUNC
* @tc.require: Issue Number
*/
...
...
@@ -215,7 +217,7 @@ Example:
```
The following test case templates are provided for your reference.
| Template| Description|
| Type| Description|
| ------------| ------------|
| HWTEST(A,B,C)| Use this template if the test case execution does not depend on setup or teardown.|
| HWTEST_F(A,B,C)| Use this template if the test case execution (excluding parameters) depends on setup and teardown.|
...
...
@@ -230,11 +232,15 @@ Example:
- The expected result of each test case must have an assertion.
- The test case level must be specified.
- It is recommended that the test be implemented step by step according to the template.
- The comment must contain the test case name, description, type, and requirement number, which are in the @tc.xxx: value format. The test case type @tc.type can be any of the following:
- The comment must contain the test case name, description, type, and requirement number, which are in the @tc.*xxx*: *value* format. The test case type @**tc.type** can be any of the following:
| Test Case Type|Function test|Performance test|Reliability test|Security test|Fuzz test|
@@ -407,7 +413,7 @@ The following provides templates for different languages for your reference.
deps = [":CalculatorSubTest"]
}
```
The build file is configured as follows:
The procedure is as follows:
1. Add comment information for the file header.
```
...
...
@@ -632,9 +638,9 @@ Configure the part build file to associate with specific test cases.
Test case resources include external file resources, such as image files, video files, and third-party libraries, required for test case execution.
Perform the following steps:
1.Under the **test** directory of a part or module, create the **resource** directory to store resource files.
1.Create the **resource** directory in the **test** directory of the part, and create a directory for the module in the **resource** directory to store resource files of the module.
2. In the **resource** directory, create the **ohos_test.xml** file in the following format:
2. In the module directory under **resource**, create the **ohos_test.xml** file in the following format:
```
<?xml version="1.0" encoding="UTF-8"?>
<configuration ver="2.0">
...
...
@@ -649,14 +655,13 @@ Perform the following steps:
3. In the build file of the test cases, configure **resource\_config\_file** to point to the resource file **ohos\_test.xml**.
>- **target_name** indicates the test suite name defined in the **BUILD.gn** file in the **test** directory.
>- **preparer** indicates the action to perform before the test suite is executed.
>- **src="res"** indicates that the test resources are in the **resource** directory under the **test** directory.
>- **src="out"** indicates that the test resources are in the **out/release/$(part)** directory.
>- **target_name** indicates the test suite name defined in the **BUILD.gn** file in the **test** directory.**preparer** indicates the action to perform before the test suite is executed.
>- **src="res"** indicates that the test resources are in the **resource** directory under the **test** directory. **src="out"** indicates that the test resources are in the **out/release/$(*part*)** directory.
## Executing Test Cases
Before executing test cases, you need to modify the configuration based on the device used.
...
...
@@ -715,16 +720,17 @@ Test cases cannot be built on Windows. You need to run the following command to
> - --**product-name**: specifies the name of the product to build, for example, **Hi3516DV300**.
> - --**build-target**: specifies the target to build. It is optional. **make_test** indicates all test cases. You can set the build options based on requirements.
>Note:
>- **product-name**: specifies the name of the product to build, for example, **Hi3516DV300**.
>- **build-target**: specifies the test case to build. **make_test** indicates all test cases. You can specify the test cases based on requirements.
When the build is complete, the test cases are automatically saved in the **out/hi3516dv300/packages/phone/tests** directory.
After the build is complete, the test cases are automatically saved in **out/hi3516dv300/packages/phone/tests**.
#### Setting Up the Execution Environment
1. On Windows, create the **Test** directory in the test framework and then create the **testcase** directory in the **Test** directory.
2. Copy **developertest** and **xdevice** from the Linux environment to the **Test** directory on Windows, and copy the test cases to the **testcase** directory.
>**Note**: Port the test framework and test cases from the Linux environment to the Windows environment for subsequent execution.
3. Modify the **user_config.xml** file.
...
...
@@ -757,15 +763,15 @@ When the build is complete, the test cases are automatically saved in the **out/
```
In the command:
```
-t [TESTTYPE]: specifies the test type, which can be UT, MST, ST, or PERF. This parameter is mandatory.
-t [TESTTYPE]: specifies the test case type, which can be UT, MST, ST, or PERF. This parameter is mandatory.
-tp [TESTPART]: specifies the part to test. This parameter can be used independently.
-tm [TESTMODULE]: specifies the module to test. This parameter must be specified together with -tp.
-ts [TESTSUITE]: specifies the test suite. This parameter can be used independently.
-tc [TESTCASE]: specifies the test case. This parameter must be specified together with -ts.
You can run -h to display help information.
-You can run h to display help information.
```
### Executing Test Cases on Linux
#### Mapping Remote Port
#### Mapping the Remote Port
To enable test cases to be executed on a remote Linux server or a Linux VM, map the port to enable communication between the device and the remote server or VM. Configure port mapping as follows:
1. On the HDC server, run the following commands:
```
...
...
@@ -797,12 +803,12 @@ To enable test cases to be executed on a remote Linux server or a Linux VM, map
```
In the command:
```
-t [TESTTYPE]: specifies the test type, which can be UT, MST, ST, or PERF. This parameter is mandatory.
-t [TESTTYPE]: specifies the test case type, which can be UT, MST, ST, or PERF. This parameter is mandatory.
-tp [TESTPART]: specifies the part to test. This parameter can be used independently.
-tm [TESTMODULE]: specifies the module to test. This parameter must be specified together with -tp.
-ts [TESTSUITE]: specifies the test suite. This parameter can be used independently.
-tc [TESTCASE]: specifies the test case. This parameter must be specified together with -ts.