2012-10-25 38 views
0

工作在“Learn Python the Hard Way”练习47,我有以下项目框架。Aptana Studio找不到'assert_equal'Python

ex47 
    bin/ 
    docs/ 
    ex47/ 
     __init__.py 
    tests/ 
     __init__.py 
     game_tests.py 
    game.py 
    setup.py 

在Aptana Studio上工作。在game_tests.py我有

from nose.tools import * 
from 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.""") 
    assert_equal(gold.name, "GoldRoom") 
    assert_equal(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}) 
    assert_equal(center.go('north'), north) 
    assert_equal(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}) 
    assert_equal(start.go('west'), west) 
    assert_equal(start.go('west').go('east'), start) 
    assert_equal(start.go('down').go('up'), start) 

但Aptana无法定义“assert_equal”。我相信assert_equal是一个内置函数。哪里不对?

回答

0

assert_equalnose.tools中,但它不在__all__中,并且没有用*导入。 尝试 from nose.tools import assert_equal

+0

工作正常!但是,现在Aptana为我提供了'未解决的进口'。 – Dombey

+0

你可以删除'from nose.tools import *'line – lazy1

+0

我做过。我用'从nose.tools导入assert_equal'替换它仍然给我这个问题。 – Dombey