只想写一个真正能用的django mock

本文分享了调参过程中的曲折经历,强调了编写测试用例对于衡量开发水平的重要性。作者详细介绍了使用model_mommy生成测试数据的过程,并通过具体的测试函数示例,展示了如何利用mock进行单元测试,确保代码质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

调参数的过程,百转千回。

还好,搞得差不多了。

确实,方便写测试用例,

也是一个开发水平高低的衡量~~~:(

为了测试这个mock,不得不改下代码~~

还要不断的将Model里允许Null的参数写完,

不然,报错呀~~~

model_mommy,哟,不错的写测试数据的东东。

class DeployFunctionTests(TestCase):
    def setUp(self):
        self.user = User.objects.create_user(
            username='test',
            email='test@example.com',
            password='test',)
        self.client.login(username='test', password='test')
        self.new_server = mommy.make(Server, env_name__name='fat',
                                     app_name__script_url="http://",
                                     app_user=self.user,
                                     app_name__name="hello",
                                     app_name__zip_package_name="heh",
                                     app_name__package_name="heh",
                                     port="3456",
                                     )
        self.new_deploy = mommy.make(DeployPool, name="2018--12-24-56XN", is_inc_tot='tot')
        DeployStatus.objects.create(name="FINISH", memo="FINISH")

    @patch('deploy.salt_cmd_views.cmd_run')
    def test_deploy_function(self, mock_cmd_run):
        mock_cmd_run.return_value = True
        self.assertEqual(deploy.salt_cmd_views.deploy(
            subserver_list=[[1, 2, 3], [4, 5, 6]],
            deploy_type="deployall",
            is_restart_server=True,
            user_name=self.user,
            deploy_version="2018--12-24-56XN",
            operation_type="deploy"
        ), True)

    @patch('deploy.salt_cmd_views.salt_run')
    def test_cmd_run_function(self, mock_salt_run):
        mock_salt_run.return_value = {'return': [{self.new_server.name: {'retcode': 0}}]}
        self.assertEqual(deploy.salt_cmd_views.cmd_run(
            server_id=self.new_server.id,
            action="deploy",
            user_name=self.user,
            percent_value="100%",
            deploy_version="2018--12-24-56XN",
            operation_type="deploy"),  True)

 

转载于:https://www.cnblogs.com/aguncn/p/10085843.html

03-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值