文档章节

Django中的单元测试

猿神出窍
 猿神出窍
发布于 2017/08/31 17:56
字数 264
阅读 24
收藏 0

 tests.py文件:

from django.test import TestCase
class SimpleTest(TestCase):
def test_basic_addition(self):
"""
Tests that 1 + 1 always equals 2.
"""
self.assertEqual(1 + 1, 2)

实际项目:

import unittest
from mock import patch


class TestConversion(unittest.TestCase):

    def test_convert(self):
        """Test :py:func:``exchange.conversion.convert``"""
        from exchange.conversion import convert, Price
        with patch('exchange.conversion.ExchangeRates') as exchange_rates:
            exchange_rates.get_instance.return_value = \
                {'USD': {'GBP': 0.5}}
            price = Price(3, 'USD')
            converted_price = convert(price, 'GBP')
            self.assertEqual(converted_price.value, 1.50)
            self.assertEqual(converted_price.currency, 'GBP')

    def test_price(self):
        """Test :py:class:``exchange.conversion.Price``"""
        from exchange.conversion import Price
        with patch('exchange.conversion.ExchangeRates') as exchange_rates:
            exchange_rates.get_instance.return_value = \
                {'USD': {'GBP': 0.5}}
            price = Price(3, 'USD')
            converted_price = price.convert('GBP')
            self.assertEqual(converted_price.value, 1.50)
            self.assertEqual(converted_price.currency, 'GBP')

你可以有几种方式运行单元测试:

python manage.py test:执行所有的测试用例
python manage.py test app_name, 执行该app的所有测试用例
python manage.py test app_name.case_name: 执行指定的测试用例

为了避免测试数据造成的影响,测试过程会使用一个单独的数据库,一般使用sqlite数据库

© 著作权归作者所有

猿神出窍
粉丝 18
博文 192
码字总数 71238
作品 0
沙坪坝
项目经理
私信 提问
10个实用的Django建议

前言:随着Django1.4第二个候选版的发布,虽然还不支持Python3,但Django团队已经在着手计划中,据官方博客所说,Django1.5将会试验性的支持python3。 Django 作为一个杰出的Python开源框架,...

易小毅
2016/07/01
63
0
Django之单元测试

一、什么是单元测试 单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。如果测试通过则说明我们这个函数或功能能够正常工作,如果失败要么测试用例不正确,要么函数...

daibaiyang119
2017/11/21
0
0
Django下测试与调试REST API的方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zwgdft/article/details/52981310 对于大多数研发人员来说,都期望能找到一个良好的测试/调试方法,来提高工作...

Mr-Bruce
2016/10/31
0
0
PyCharm 2.0 发布,专业的Python开发工具

JetBrains PyCharm – 生产力的发展与Python编程语言的工具一套完整的Python IDE。 此外,IDE提供了专业的Web开发与Django框架的高级功能。 编码辅助 代码速度更快,在智能代码完成,代码片段...

ddatsh
2011/12/14
3.4K
22
Django 1.6 的测试驱动开发

测试驱动开发(TDD)是一个迭代的开发周期,强调编写实际代码之前编写自动化测试。 这个过程很简单: 先编写测试。 查看测试失败的地方 编写足够的代码以使测试通过。 再次测试。 代码重构 。 重...

renwofei423
2014/01/02
5.6K
13

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 从此喝奶茶就成了信仰

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 小小编辑:《hotline bling》- Billie Eilish 《hotline bling》- Billie Eilish 手机党少年们想听歌,请使劲儿戳(这里) @帝婳 :知名的美女...

小小编辑
22分钟前
21
3
mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
今天
5
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
今天
6
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
10
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部