我是一名技术教师,试图学习如何使用pytest创建专门的koan,让我的学生学习python语法.(如果你判断前面的问题,我有关于这里发生了什么的细节.
我熟悉测试驱动开发,但主要是JavaScript/jQuery.当涉及Python语法时,我对OOP也不太熟悉,现在我必须把它教给我的学生(显然,这是学习和所有这些的最佳方法).
我非常肯定我写的代码是正确的,因为命令行测试正在工作,但我需要使用TDD来工作,因为我的学生没有访问命令行的权限,必须在基于浏览器的代码系统中运行代码.
我试过使用hasattr(),但它总是返回false,即使它不应该返回,前提是我使用正确.
类的代码如下:
class Dog:
def __init__(self, name, breed):
self.name = name
self.breed = breed
测试的代码在另一个文件中,看起来像这样:
from utils.attribute_1 import Dog
def test_Dog():
assert hasattr(Dog, 'name')
因此,我上面所做的就是从文件中导入类Dog,并设置一个测试函数,该函数应该显示我附加了属性"name".
当我运行它时,它返回false.它应该是真实的.我不确定我做错了什么,我相当肯定这将是一个"键盘和椅子之间存在问题"的事件,但我对这在实践中如何工作感到困惑.