如何使用unittest

时间:2020-07-07 14:02:54

标签: python python-unittest

我想使用unittest编写一个单元测试用例,其中我的输入是图像集,输出是图像中带有边界框的图像集,它还会生成边界框的坐标。如何使用unittest pyunit框架为此编写测试脚本。

所以我写了unittest脚本来测试api是否正常工作,响应应该是json /,列表格式和图像文件格式的响应应该是png,jpg格式,现在可以使用了。我有下面的测试用例场景需要测试,但是我将如何检查?我不知道。

如果可选键未传递到API,则不应引发错误。 (与强制性相反)8)如果传递了GET请求而不是POST,则实现的路由应引发/返回错误。 9)如果提供了有效路径但文件名无效,则应看到相应的错误。 10)如果路径无效,则应看到相应的错误消息。 11)指定了一组强制传递给API的密钥,如果没有,则返回错误12)验证会话超时。

这是我的代码:

import requests
import json
import sshtunnel
import unittest
class TestSequentialExecutions(unittest.TestCase):
   
def setUp(self) -> None:
        a=10
    def test_API(self):
        self.resp_list = []
        # API url
        url = ['dummy url','dummyurl']

        # Additional headers.
        headers = {'Content-Type': 'application/json'}
        # Body
        payload = [{'input': 'dummy path'},
                  {"path": "dummy"}]

        # Test case-1 checking valid API  is routed or not
        # convert dict to json by json.dumps() for body data.
        for i in range(len(url)):
            resp = requests.post(url[i], headers=headers, data=json.dumps(payload[i], indent=4))
            self.assertEqual(resp.status_code, 200)
            self.resp_list.append(resp.json())
            #Test case-2 to check input file is in JPG ,PNG format or not
    def test_fileformat(self):

        n = len(self.resp_list[1])
        my_list = [1]*n
        empty_list=[]
        extensions = ['png','v']
        for filename in self.resp_list[0]:
            if filename.lower().endswith(('.png', '.jpg')):
              empty_list.append(1)
            else:
              empty_list.append(0)
        self.assertEqual(my,empy_list) 



if __name__ == '__main__':
    unittest.main() 

实际上,我正在尝试为以下github代码编写测试脚本:https://github.com/eragonruan/text-detection-ctpn

0 个答案:

没有答案