def test01_connect_pass(self): logger.info("执行设备管理:第1条用例") """ 正确密码连接 """ data = { "passwd": 1234 } self.cns.Connect(**data) 如何给这段代码添加断言
时间: 2023-10-16 14:33:00 浏览: 44
你可以在调用`self.cns.Connect(**data)`方法后添加以下代码进行断言:
```
assert self.cns.is_connected == True, "连接失败"
```
这个断言会检查`is_connected`属性是否为`True`,如果不是,则会输出错误信息"连接失败"。`is_connected`属性表示设备是否已连接成功。
相关问题
class test_1121(MyUnit): qa = None def test_a111(self): self.qa = '噶啥的' logger.error(self.qa) logger.info('欢迎') def test_b222(self): agd = test_1121(self.qa) logger.error(agd)
在 `test_b222` 方法中,你现在使用 `test_1121.qa` 来访问 `qa` 属性。但是,你在实例化 `test_1121` 类时没有传递任何参数,因此构造函数将抛出错误。如果你想在 `test_b222` 方法中访问 `qa` 属性,你需要使用类变量 `qa`,而不是实例变量 `self.qa`。此外,你应该在实例化 `test_1121` 类时使用 `test_1121.qa`,而不是 `self.qa`。修改后的代码如下所示:
```
class test_1121(MyUnit):
qa = None
def test_a111(self):
self.qa = '噶啥的'
logger.error(self.qa)
logger.info('欢迎')
def test_b222(self):
agd = test_1121(test_1121.qa)
logger.error(agd)
```
这样,你就可以在 `test_b222` 方法中访问 `qa` 属性了。
def setUpClass(cls): cls.process = process cls.cns = ConnectSrt(process=cls.process) cls.last_result = None def tearDown(self): self.last_result = self._outcome.result def test01_connect(self): #用例描述 """ 正确密码连接 """ #增加打印Log,方便明确当前为第几条测试用例 logger.info("执行设备管理:正确密码连接---TestCase1---") data = { "passwd": 1234 } try: #传输data-passwd数据,执行DeviceManagement-Connect方法 self.cns.Connect(**data) assert self.cns.dlg['Connected'].exists() logger.info("设备管理:正确密码连接---测试PASS---") except Exception as e: logger.info("FAIL") logger.error(str(e)) logger.info("设备管理:正确密码连接---测试FAIL---") self.assertEqual(True, False) @unittest.skipIf(last_result and last_result.failures,reason="last_testcase is failed") def test02_disconnect(self):
这段代码中定义了一个测试类,包含了 `setUpClass()` 方法、`tearDown()` 方法和两个测试用例方法:`test01_connect()` 和 `test02_disconnect()`。
在 `setUpClass()` 方法中,我们创建了一个 `ConnectSrt` 对象,并将其保存到类属性 `cls.cns` 中。同时,我们创建了一个类属性 `cls.last_result`,用于保存上一条测试用例的执行结果。
`tearDown()` 方法是一个实例方法,在每个测试用例执行后都会被调用。在这个方法中,我们将上一条测试用例的执行结果保存到类属性 `self.last_result` 中。
`test01_connect()` 和 `test02_disconnect()` 分别对应了两个测试用例。其中,`test01_connect()` 测试用例测试了正确密码连接,`test02_disconnect()` 测试用例测试了断开连接。
在 `test01_connect()` 方法中,我们首先定义了一个字典 `data`,用于传递测试数据。然后,我们调用 `self.cns.Connect()` 方法,传入测试数据,执行连接操作。接着,我们使用 `assert` 语句断言连接是否成功。如果连接成功,则输出日志信息,测试用例通过。如果连接失败,则输出日志信息,测试用例失败。
在 `test02_disconnect()` 方法中,我们使用了 `@unittest.skipIf()` 装饰器来跳过上一条测试用例失败的情况。具体来说,如果上一条测试用例执行失败,则跳过当前测试用例。这个装饰器接受两个参数:一个条件表达式和一个跳过的原因。在这个例子中,条件表达式为 `last_result and last_result.failures`,表示上一条测试用例执行失败。跳过的原因为 `"last_testcase is failed"`。
需要注意的是,在这段代码中,`last_result` 是一个类属性,应该使用 `cls.last_result` 来引用它。同时,在 `test01_connect()` 方法中,我们使用了 `logger` 对象来记录日志信息。`logger` 是 Python 标准库中的一个日志处理模块,可以用来记录程序运行时的信息、警告和错误。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)