只想写一个真正能用的django mock
调参数的过程,百转千回。
还好,搞得差不多了。
确实,方便写测试用例,
也是一个开发水平高低的衡量~~~:(
为了测试这个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)
只想写一个真正能用的django mock的更多相关文章
- 利用 TypeConverter,转换字符串和各种类型只需写一个函数
本文代码基于 .NET Framework 实现. 本来只想进行简单的配置存储的,不料发现 .NET 的基本类型多达十多种.于是,如果写成下面这样,那代码可就太多了哦: // 注:`Configura ...
- 我想写一个前端开发工具(三):优化!从vue-cli学了几招
我从过年开始写自己的前端工具 coodev,目前已经写出一个基本的架子,大多数预想的功能都能跑通,还剩一些需要解决的问题也都已经列出来了.本来这一周打算解决对不同后端模板的前后端渲染支持的问题.但是看 ...
- 我想写一个前端开发工具(一):在npm发布模块
有必要说说我为什么要开始写这个,正文从下面的第一条开始 我最近忙于公司的项目,一直没有抽出时间来写文章.本来想每个月写一片文章,保质保量,无奈上个月没有坚持. 这段时间有点忙,主要是由于公司业务调整, ...
- 想写一个 Sketch 插件 结果 一查不可收拾 ~~ 涉及到 Symbol 符号/ Layer 图层 / Overrides 可替换变量 等等
var sketch = context.api() var document = sketch.selectedDocument; var selection = document.selected ...
- 写一个简易浏览器、ASP.NET核心知识(3)
前言 先在文章前面说好了,省得大家发现我根本没有这样的头发,duang的一下一堆人骂我. 这篇文章的标题有点大,其实挺low的,我需要在开头解释一下.我这里只想写一个小的控制台,旨在模拟浏览器的htt ...
- 如何写一个简单的shell
如何写一个简单的shell 看完<UNIX环境高级编程>后我就一直想写一个简单的shell来作为练习,因为有事断断续续的写了好几个月,如今写了差不多来总结一下. 源代码放在了Github: ...
- 怎样写一个与Win8 IE11兼容的标准BHO?
怎样写一个与Win8 IE11兼容的标准BHO? 环境:Windows8.1 x86 IE11(其它环境未讨论) 作者:magictong 日期:2014/02/02 概述 微软在2013年6月份推出 ...
- 用python写一个非常简单的QQ轰炸机
闲的没事,就想写一个QQ轰炸机,按照我最初的想法,这程序要根据我输入的QQ号进行轰炸,网上搜了一下,发现网上的案列略复杂,就想着自己写一个算了.. 思路:所谓轰炸机,就是给某个人发很多信息,一直刷屏, ...
- 并发编程 —— 自己写一个异步回调 API
1. 前言 在并发编程中,异步回调的效率不言而喻,在业务开发中,如果由阻塞的任务需要执行,必然要使用异步线程.并且,如果我们想在异步执行之后,根据他的结果执行一些动作. JDK 8 之前的 Futur ...
随机推荐
- 04 Spring的@Autowired注解、@Resource注解、@Service注解
什么是注解 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事务,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分 ...
- MT【182】系数奇怪的二次函数
设函数$f(x)=3ax^2-2(a+b)x+b,$其中$a>0,b\in R$证明:当$0\le x\le 1$时,$|f(x)|\le \max\{f(0),f(1)\}$ 分析:由$a&g ...
- MT【164】条件化简
(2017北大优特测试第9题) 已知实数 \(a_i\)(\(i=1,2,3,4,5\))满足 \((a_1-a_2)^2+(a_2-a_3)^2+(a_3-a_4)^2+(a_4-a_5)^2=1\ ...
- Mac安装mysql8.0.12
···shell 下载 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.12-macos10.13-x86_64.tar.gz ...
- jQuery源码之 empty与html('')的区别
empty: function() { var elem, i = 0; for ( ; (elem = this[i]) != null; i++ ) { // Remove element nod ...
- Pair_2测试与优化
# Pair_2测试与优化 211606316李震 21160305胡彤 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分 ...
- (转)flask的context机制
本文转自:https://blog.tonyseek.com/post/the-context-mechanism-of-flask/ 作者:无知的 TonySeek 注意:本文仅仅作为个人mark, ...
- win下jdk7环境变量的配置
win下jdk7环境变量的配置: 单击计算机(Computer),选择属性(Properties),选择高级系统设置(Advanced systems settings), 选择环境变量(Enviro ...
- POJ 3252 Round Number(数位DP)
Round Numbers Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 6983 Accepted: 2384 Des ...
- 一个中国地图的SVG,可以带参数
<script src="http://files.cnblogs.com/files/LoveOrHate/jquery.min.js"></script> ...