【发布时间】:2015-11-06 05:38:44
【问题描述】:
我在建模我的测试以从 .run 方法到应用程序的内部工作时遇到问题。
.run 方法是尚未编写的应用程序的唯一入口点。您在下面看到的只是它如何工作的快速模型。
.run 基本上是一个工厂,它创建Car 的实例,添加一些车轮和门,最后返回汽车的字符串表示形式。
因此,我不确定如何编写我的第一个测试以开始。
class Car
attr_accessor :wheels, :doors
def initialize
@wheels = []
@doors = []
end
def self.run(wheels, doors)
car = Car.new
car.wheels = Car::Wheel.load_json(wheels)
car.doors = Car::Door.load_json(doors)
car.build.to_s
end
end
Car.run(wheels_json, doors_json)
我的一些想法:
- 我可以编写一个集成测试,但这并不能真正推动开发,因为集成测试只会检查调用
.run,其中包含两个变量(轮子和门),其中包含 json 内容,会吐出一个字符串表示一辆车。我必须编写大量代码才能通过该测试。 - 如果
.run返回Car的实例,我可以通过抓取返回的实例进行测试,但我不能这样做,因为该方法返回一个字符串。
明确地说,问题是:鉴于上述代码,您将如何开始测试以帮助您降低并构建应用程序的其余部分。
【问题讨论】: