python - 我需要测试功能的哪些方面?

标签 python unit-testing testing

我有以下 build_settings_message 函数,我有点困惑应该如何为它编写单元测试。我需要检查它的哪些方面?

def build_settings_message(team_id):
    team = SlackTeam.objects.find_by_id(team_id)
    domain = Site.objects.get_current().domain

    attachments = [
        _build_manage_admins(),
        _build_checks_available(team, domain)
    ]

    return {
        'text': "Here is my settings page",
        'attachments': attachments
    }


def _build_manage_admins():
    return {
        "fallback": "Manage admins",
        "color": "#85cdff",
        "callback_id": "admins_controls",
        "title": "Admins",
        "footer": "Users that could remove and edit any checks ",
        "actions": [
            {
                "name": "manage",
                "text": ":key: Manage Admins",
                "type": "button",
                "value": "manage"
            }
        ]
    }


def _build_checks_available(team, domain):
    return {
        "title": "Items available",
        "footer": ("You have got *{} of {}* items for "
                   "check *available*.").format(
                       team.checks_used, team.checks_available),
        "actions": [
            {
                "text": "Open Dashboard",
                "type": "button",
                "url": 'https://' + domain + reverse('dashboard')
            }
        ]
    }

最佳答案

你必须 mock SlackTeamSite 并为 teamdomain 返回一些虚假但看起来真实的值,然后验证build_settings_message 返回的值是正确的(基于 teamdomain)。

一定要检查边缘情况,例如没有团队、重复域等。

关于python - 我需要测试功能的哪些方面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54039157/

相关文章:

iphone - 我怎样才能让 OCMock 让我在 UIKit 类上 stub 一个类别方法?

java - 简单的 JMeter 测试不起作用

java - Junit 之前/之后和设置/拆卸

java - TestNG 中的 alwaysRun 参数

python - IE 测试的 Selenium 问题

python - 如何使用子进程获取输出和返回代码?

Python:如何将 DictReader 行添加为字典以通过更新列出

python - Scrapy:测试内联请求的有效方法

c# - 无法验证对具有多个接口(interface)的模拟对象上的方法的调用

python - 使用输入更改文件的一部分 - python