函数/文件的nosetest中的神秘SyntaxError

时间:2014-04-23 21:56:21

标签: python syntax-error nosetests

所以我正在尝试为单词解析器函数编写一个测试,它将基本确认解析器是否会返回它应该的内容。我正在编写测试的部分是一个名为“peek”的函数,它带有一个元组列表(元组采用('TYPE','WORD')格式),并返回'TYPE'中的值元组的一部分。解析器的peek部分的代码(位于文件parser.py中)如下:

def peek(word_list):
if word_list:
    word = word_list[0]
    return word[0]
else:
    return None

其中“word_list”是有问题的元组列表。那么,我的测试基本上是为了查看peek函数是否确实识别“word_list”中的元组列表并从它经过的元组返回'TYPE'值。我的测试代码如下:

from nose.tools import *
from ex49 import parser


def test_peek():

    word_list = [('direction', 'north')]
    assert_equal(parser.peek([('direction', 'north')], 'direction')
    result = parser.peek(word_list)
    assert_equal(result, ['direction'])

看起来它应该是正确的,但是当我运行nosetests时,我得到的只是这个错误信息:

    result = parser.peek(word_list)
         ^
SyntaxError: invalid syntax

我对所有括号,逗号,运算符和变量值进行了双重和三重检查,我没有看到任何语法错误,或任何会让我相信某些东西会导致语法错误的东西。这里有什么我想念的吗?任何见解都会非常感激。

由于

1 个答案:

答案 0 :(得分:1)

这只是前一行中失踪的关闭:

assert_equal(parser.peek([('direction', 'north')], 'direction')  # <-- ) here