Python NameError: global name 'assertEqual' is not defined

I'm following Learn Python the Hard Way and I'm on Exercise 47 - Automated Testing (http://learnpythonthehardway.org/book/ex47.html)

I am using Python3 (vs the book's use of Python 2.x) and I realize that assert_equals (which is used in the book) is deprecated. I am using assertEqual.

I am trying to build a test case but for some reason, when using nosetests in cmd, I get the error: NameError: global name 'assertEqual' is not defined

Here is the code:

from nose.tools import *
from ex47.game import Room



def test_room():
    gold = Room("GoldRoom",
        """ This room has gold in it you can grab. There's a
            door to the north. """)
    assertEqual(gold.name, "GoldRoom")
    assertEqual(gold.paths, {})

def test_room_paths():
    center = Room("Center", "Test room in the center.")
    north = Room("North", "Test room in the north.")
    south = Room("South", "Test room in the south.")

    center.add_paths({'north': north, 'south': south})
    assertEqual(center.go('north'), north)
    assertEqual(center.go('south'), south)

def test_map():
    start = Room("Start", "You can go west and down a hole")
    west = Room("Trees", "There are trees here. You can go east.")
    down = Room("Dungeon", "It's dark down here. You can go up.")

    start.add_paths({'west': west, 'down': down})
    west.add_paths({'east': start})
    down.add_paths({'up': start})

    assertEqual(start.go('west'), west)
    assertEqual(start.go('west').go('east'), start)
    assertEqual(start.go('down').go('up'), start)

I've tried searching GitHub for any solutions, and I'm just not sure why it's giving me the NameError and how would I go about fixing it.


assertEqual is a method of unittest.TestCase class, so you can only use it on objects that inherit from that class. Check the unittest documentation.


Had a similar problem with the second module in a python selenium test script. Solved it by including 'self.' before the 'assertIn'.

Before:

assertIn('images/checkbox-checked.png', ET)

After:

self.assertIn('images/checkbox-checked.png', webelement)
链接地址: http://www.djcxy.com/p/72870.html

上一篇: 从具有小多边形的栅格提取()数据

下一篇: Python NameError:未定义全局名称'assertEqual'