如何编写Python单元测试以检查列名是否为字符串?

2024-10-02 04:18:39 发布

您现在位置:Python中文网/ 问答频道 /正文

如果这是正确的,我不是,但是,到目前为止我已经有了这个,我正试图为此编写unittest。在

 def ValidateInputs(self, class_column_name,):

    class_column_name_ok = type(class_column_name) is str
    if not class_column_name_ok:
        raise(TypeError("Argument class_column_name must be a string type"))

我为这次单元测试做了这个,但是由于知识不够,我不能确定。任何帮助都将不胜感激

^{pr2}$

Tags: nameselfifisdeftypenotcolumn
1条回答
网友
1楼 · 发布于 2024-10-02 04:18:39

如果不知道你如何处理这些值,我不能说100%。我假设您将它们绑定到类,然后提供我要编写的单元测试。在

申请代码:

class MyClass(object):
    """This is my object, this is what it does"""

    def validate_inputs(self, merge_columns, class_column_name):
        """some handy docstring"""
        if not isinstance(class_column_name, str):
            raise TypeError('Argument class_column_name must be a string, supplied {0}'.format(type(class_column_name))
        self.class_column_name = class_column_name

unittests(使用stdlib格式的unittest):

^{pr2}$

单元测试的一般提示:

A)使用自我评估资格(A,B)—>;失败时的输出将为您提供一些有关失败原因的线索。使用类似于self.assertTrue正常情况下只会输出一条错误消息,如“False is not True”;虽然100%准确,但并不十分有用。在

B)将所有位置参数提供为关键字args->;使以后读取测试更容易。在

C)每个测试用例有一个assert(最多两个)—>;超过这个值会使测试代码过于复杂。这个测试应该非常简单,任何人(甚至是刚刚从3个月的编程训练营雇来的实习生)都能搞清楚。重写一个孔测试套件(或花费数小时更新测试代码)的b/c(10分钟更新测试代码)对应用程序代码进行10分钟的更新是非常痛苦的。在

希望这对你有帮助。在

相关问题 更多 >

    热门问题