我在写一些小红宝石程序的同时正在学习TDD.我有以下课程:
class MyDirectory
def check(dir_name)
unless File.directory?(dir_name) then
raise RuntimeError, "#{dir_name} is not a directory"
end
end
end
Run Code Online (Sandbox Code Playgroud)
而我正试图用这个rspec测试来测试它.
describe MyDirectory do
it "should error if doesn't exist" do
one = MyDirectory.new
one.check("donee").should raise_exception(RuntimeError, "donee is not a directory")
end
end
Run Code Online (Sandbox Code Playgroud)
它永远不会工作,我不明白rspec输出有什么问题.
Failures:
1) MyDirectory should error if doesn't exist
Failure/Error: one.check("donee").should raise_error(RuntimeError, "donee is not a directory")
RuntimeError:
donee is not a directory
# ./lib/directory.rb:4:in `check'
# ./spec/directory_spec.rb:9:in `block (2 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)
我希望这是一件我很想念的简单事,但我只是没有看到它.
我在python中编写一个脚本,它基本上查询WMI并更新mysql数据库中的信息.其中一个"写你需要的东西"来学习编程练习.
例如,如果脚本中间出现问题,远程计算机将关闭,它将分离为函数.
查询一些WMI数据
更新到数据库
查询其他WMI数据
更新到数据库
最好在开始时打开一个mysql连接并在每次更新后保持打开或关闭连接?
似乎一个连接将使用更少的资源.(虽然我只是在学习,所以这是一个完整的猜测.)然而,打开和关闭每个更新的连接似乎更"整洁".函数将更加独立,而不是依赖于该函数之外的代码.