我已经在我的 Django 项目上安装了覆盖范围。输出是:
Name Stmts Miss Cover
----------------------------------------------------------------
test.apps.testapp.models.company 15 5 67% 2, 19-25
------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我已经测试了我能想到的该模型的所有内容,5 Missed 指的是什么?
这是我的模型:
class Company(models.Model):
"""
Describes a Company within the system.
"""
name = models.CharField(max_length=60)
address_line1 = models.CharField(max_length=120)
address_line2 = models.CharField(max_length=120, null=True, blank=True)
address_city = models.CharField(max_length=120)
address_county = models.CharField(max_length=120, null=True, blank=True)
address_country = models.CharField(max_length=4, choices=COUNTRY_CHOICES, default="US")
address_postcode = models.CharField(max_length=12)
class Meta:
app_label = "testapp"
def company_user_count(self):
"""
Return count of the numbers of users that belong to a company.
:return: int
"""
return self.users.count()
Run Code Online (Sandbox Code Playgroud)
我的测试:
class CompanyModel(TestCase):
def setUp(self):
self.company = CompanyFactory.create()
def tearDown(self):
pass
def test_create_new_company_creation(self):
"""
Ensure that a new company can be created.
"""
company = CompanyFactory(name="Test Co")
noz.assert_equal(company.name, "Test Co")
def test_user_is_company(self):
"""
Test relationship on user to company method is_company_user().
"""
company = CompanyFactory.create()
company_user = UserFactory.create(company=company)
noz.assert_equal(company_user.is_company_user(), True)
def test_company_user_relationship(self):
"""
Test correct relationship on company is made to user.
"""
company = CompanyFactory.create()
user = UserFactory.create(company=company)
noz.assert_equal(user.company.name, "Valhalla Ltd")
def test_one_to_many_company_relationship(self):
"""
Test company relationship of one-to-many with users.
"""
company = CompanyFactory.create()
user1 = UserFactory.create(company=company)
user2 = UserFactory.create(company=company)
company.company_user_count()
noz.assert_equal(company.company_user_count(), 2)
Run Code Online (Sandbox Code Playgroud)
使用html 输出运行覆盖率实用程序,它会告诉您哪些行或分支未能测试。
如果您使用 django-nose 运行测试,请将--cover-html和--cover-html-dir=<DIR>选项添加到NOSE_ARGSsettings。
请参阅覆盖率文档中的示例输出。
| 归档时间: |
|
| 查看次数: |
2552 次 |
| 最近记录: |