python - 未定义全局名称“RomanNumeralConverter”
问题描述
我正在尝试编写一个单元测试,但总是在 globalname not defined 上出现错误。
我在 test_TestCase.py 中的代码
import unittest
class RomanNumeralConverterTest(unittest.TestCase):
def test_parsing_millenia(self):
value = RomanNumeralConverter("M") # type: RomanNumeralConverter
self.assertEquals(1000, value.convert_to_decimal)
def test_parsing_century(self):
value = RomanNumeralConverter("C")
self.assertEquals(100, value.convert_to_decimal())
def test_parsing_half_century(self):
value = RomanNumeralConverter("L")
self.assertEquals(50, value.convert_to_decimal())
def test_parsing_decade(self):
value = RomanNumeralConverter("X")
self.assertEquals(10, value.convert_to_decimal())
def test_parsing_half_decade(self):
value = RomanNumeralConverter("V")
self.assertEquals(5, value.convert_to_decimal())
def test_parsing_parsing_one(self):
value = RomanNumeralConverter("I")
self.assertEquals(1, value.convert_to_decimal())
def test_empty_roman_numeral(self):
value = RomanNumeralConverter(" ")
self.assertTrue(value.convert_to_decimal() == 0)
self.assertFalse(value.convert_to_decimal() > 0)
def test_no_roman_numeral(self):
value = RomanNumeralConverter(None)
self.assertRaises(TypeError, value.convert_to_decimal)
if __name__ == "__main__":
unittest.main()
recipe1.py 中的代码
class RomanNumeralConverter(object):
def __init__(self, roman_numeral):
self.roman_numeral = roman_numeral
self.digit_map = {"M": 1000, "D": 500, "C": 100, "L": 50, "X": 10, "V": 5, "I": 1}
@property
def convert_to_decimal(self):
val = 0 # type: int
for char in self.roman_numeral:
val += self.digit_map[char]
return val
NameError:未定义全局名称“RomanNumeralConverter”
在 0.001 秒内运行 8 次测试
失败(错误=8)
解决方案
在您的 unittest.py 中,您似乎错过了导入您在另一个文件中定义的类..
推荐阅读
- excel - 为什么这种双重比较会在 VBA 中产生溢出错误
- jenkins - 如何将 Taurus 与 Jenkins 集成?
- java - 如何转换列表
- > 进入列表
- >?
- c++ - 如何在 Linux 的 cmake gcc 项目中使用柯南处理 ImGui-SFML 依赖项?
- vue.js - vm.$on 监听器没有从父 mount() 方法触发
- jenkins - 使用声明式管道的 Chef 部署
- php - 在类中创建对象数组作为 PHP 中的属性的最佳方法是什么?
- javascript - 当作为道具传递时,等于两个对象不起作用
- javascript - 模板文字中的 Console.log CSS 样式
- wordpress - 按自定义日期提交的 Wordpress 查询