怎么创建 t-cont gem index不存在

如何测试一个Gem
gem 开发完了,想要给别人用,那就需要测试啊,测试一个 gem 其实很简单,这里我们用 minitest 为例, rspec 也一样适用。先来看看我们当前这个 gem 的目录结构:
-rw-rw-r-- 1 lizhe lizhe
2 15:52 Gemfile
-rw-rw-r-- 1 lizhe lizhe
3 10:09 Gemfile.lock
drwxrwxr-x 3 lizhe lizhe 4096
2 15:52 lib
-rw-rw-r-- 1 lizhe lizhe 1062
2 15:52 LICENSE.txt
-rw-rw-r-- 1 lizhe lizhe
3 10:09 mygem.gemspec
drwxrwxr-x 2 lizhe lizhe 4096
2 18:33 pkg
-rw-rw-r-- 1 lizhe lizhe
3 10:35 Rakefile
-rw-rw-r-- 1 lizhe lizhe
2 15:52 README.md
打开 mygem.gemspec ,添加minitest:
spec.add_development_dependency &minitest&, &~& 5.7.0&
执行bundle install安装minitest。
新建一个test文件夹,存放我们的测试的用例,然后新建一个test_helper.rb文件,放在里面。test_helper.rb的内容如下:
$LOAD_PATH && &./lib& # 把lib添加到load path
require 'minitest/autorun'
# 引进minitest
require 'mygem'
再来新建一个测试用例,test_mygem.rb:
require &test_helper&
class MygemTest & Minitest::Test
def test_hello_output
assert_equal(Mygem.hello, &hello from my gem&)
现在就来执行测试吧:
$ ruby test/test_mygem.rb
/home/lizhe/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- test_helper (LoadError)
from /home/lizhe/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from test/test_mygem.rb:1:in `&main&'
出错了!找不到test_helper,因为它没有在加载路径里嘛,那就来换个方式,require_relative 'test_helper',因为我们的命令是在 gem 根目录下的,所以相对路径就是当前的路径,如果是在 test 目录下执行,就需要写成require_relative '../test_helper'了,还挺麻烦。好,执行一下试一试:
$ ruby test/test_mygem.rb
Run options: --seed 30741
# Running:
Finished in 0.000793s,
assertions/s.
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
利用 Rake::TestTask 简化测试流程
前面的测试方法中,我们要手动添加 lib 目录到 load path ,然后在每个测试用例文件中要require_relative 'test_helper',很是麻烦,现在来简化这一个流程。
首先添加 Rake::TestTask 到 Rakefile 中:
require 'rake/testtask'
Rake::TestTask.new do |t|
t.libs && 'test' && 'lib'
t.pattern = &test/test_*.rb&
现在把 testhelper 中的$LOADPATH && './lib'去掉,再把测试用例文件中的 require_relative 替换为 require ,因为rak test task已经把 test 和 lib 两个目录都添加到 load path 中了,然后执行rake test:
$ rake test
Run options: --seed 29947
# Running:
Finished in 0.000969s,
assertions/s.
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
进一步简化,每个测试用例文件都要require 'test_helper',也是够麻烦的,能不能让它自动执行这个动作呢?可以,只需要再加上一个选项即可:
require 'rake/testtask'
Rake::TestTask.new do |t|
t.libs && 'test' && 'lib'
t.pattern = &test/test_*.rb&
t.ruby_opts && &-r test_helper& # 添加ruby运行参数,require指定的文件
现在把测试用例中的require 'test_helper'这一行也去掉,执行rake test,同样可以运行测试,又少写了一行,:smile :
现在来设置默认的 task :
require 'rake/testtask'
Rake::TestTask.new do |t|
t.libs && 'test' && 'lib'
t.pattern = &test/test_*.rb&
t.ruby_opts && &-r test_helper& #
添加 ruby 运行参数,require指定的文件
task :default =& :test
这样我就可以直接执行 rake 就可以跑测试了,连那个 test 都省了。
如果我们有多个测使用例,这个 rake test task 会跑所有测试,如果想跑指定的某一个怎么做呢?指定一个 TEST 参数即可:
rake test TEST=test/test_mygem.rb
参考链接:
本文系工程师李哲原创文章。想阅读更多技术文章,请访问OneAPM。
阅读(...) 评论()
OneAPM - 端到端的云解决方案!【图文】华为GPON最新培训教程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
华为GPON最新培训教程
上传于||文档简介
&&G​P​O​N​培​训​资​料​,​我​亲​自​整​理​的​,​含​原​理​,​模​板​、​宽​带​、​语​音​等
大小:3.96MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢gem index不存在怎样配置_百度知道华为GPON OLT单业务配置命令_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
华为GPON OLT单业务配置命令
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩2页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢君,已阅读到文档的结尾了呢~~
C220_GPON_业务配置详细说明
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
C220_GPON_业务配置详细说明
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 t cont类型5 的文章

 

随机推荐