Python unittest没有运行

时间:2013-07-03 11:55:15

标签: python unit-testing python-2.7

Windows XP Python 2.7

我正在关注Beginning Python一书中的代码,并在名为testing的文件夹中有两个文件。 我试图让它失败,但它甚至不会运行测试。第一个文件my_math.py只是一个虚拟产品函数

def product(x, y):
    pass

第二个是测试test_my_math.py

import unittest, my_math

class ProductTestCase(unittest.TestCase):

    def testIntegers(self):
        for x in xrange(-10, 10):
            for y in xrange(-10, 10):
                p = my_math.product(x, y)
                self.failUnless(p == x*y, 'Integer multiplication failed')

    def testFloats(self):
        for x in xrange(-10, 10):
            for y in xrange(-10, 10):
                x = x/10.0
                y = y/10.0
                p = my_math.product(x, y)
                self.failUnless(p == x*y, 'Float multiplicaton failed')

    if __name__ == '__main__': unittest.main()

当我在命令行中运行测试时

C:\Python27\Example_Programs\testing>python test_my_math.py

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

C:\Python27\Example_Programs\testing>

2 个答案:

答案 0 :(得分:1)

然后取消if到顶层(在它之前没有空格)。否则它是class定义的代码块的一部分,将在类完成之前执行(因此此时没有创建单元测试)。

答案 1 :(得分:0)

Alfe先生回答的最重要原因也是正确的 其他原因可能是

<script>
        $(document).ready(function(){
            $("button").click(function(){
                $.ajax({
                    url:'a',
                    type: 'POST',
                    dataType:'json',
                    success: function(data){
                        var x;
                        for(x in data){
                            $("#div1").append(data[x]);
                        }
                    }
                });
            });
        });
    </script>

您可能需要在 setUp()函数中定义此代码,直到browser.get方法为止 其余代码将在第二个函数的下一部分中定义

&安培;这里 setUp()函数名是必需的,否则会导致错误