我的模块结构就是这个。
install_logging
├── files
│ └── install_logging.sh
├── Gemfile
├── Gemfile.lock
├── manifests
│ ├── \
│ ├── empty.rb
│ └── init.pp
├── Modulefile
├── Rakefile
├── README
├── spec
│ ├── chkcls_sec.rb
│ ├── classes
│ │ ├── init1_spec.rb
│ │ ├── init_spec.rb
│ │ └── spec_helper.rb
│ ├── coverage_spec.rb
│ ├── defines
│ ├── fixtures
│ │ ├── manifests
│ │ │ └── site.pp
│ │ └── modules
│ │ └── install_logging
│ │ ├── files -> ../../../../files
│ │ ├── manifests -> ../../../../manifests
│ │ └── templates -> ../../../../templates
│ ├── functions
│ ├── hosts
│ └── spec_helper.rb
├── templates
│ └── agent.sh.erb
└── tests
└── init.pp
manifest / init.pp文件代码。
class install_logging {
file { '/tmp/install_logging.sh':
ensure => 'present',
mode => '0644',
source => 'puppet:///modules/install_logging/install_logging.sh'
}-> exec { 'Install Logging Agent':
provider => shell,
command => 'bash /tmp/install_logging.sh',
logoutput => on_failure,
}
}
$ua_module_name = 'VivekMishra01/Google_Cloud_Logging1'
$ua_module_version = "${ua_module_name}/1.1.0"
file { '/tmp/agent.sh':
ensure => file,
mode => '0755',
content => template('gcloudsdk/agent.sh.erb'),
require => Exec['Remove Components'],
}-> exec { 'Agent':
provider => shell,
command => 'sh /tmp/agent.sh',
logoutput => on_failure,
}
spec / classes / init_spec.rb文件代码
require 'spec_helper'
describe 'contains install_logging' do
it { File.exist?('File.join(File.dirname(__FILE__),init.pp)') }
end
at_exit { RSpec::Puppet::Coverage.report! }
这就是我想要做的。
root@ubuntu-14-04:/home/vivekkumarmishra17/Mymodule/install_logging# rspec spec/classes/init_spec.rb
.
Finished in 0.00164 seconds (files took 0.59198 seconds to load)
1 example, 0 failures
Total resources: 0
Touched resources: 0
Resource coverage: NaN%
Untouched resources:
问题是为什么它无法找到任何资源,尽管成功测试了一个例子。
Total resources: 0
Touched resources: 0
Resource coverage: NaN%
Untouched resources:
任何帮助都将受到高度赞赏。感谢。
答案 0 :(得分:0)
请使用Puppet Development Kit生成您的模块和课程。 PDK将为这些人生成工作单元测试。
使用rspec-puppet编写单元测试时,请参阅docsite,在本例中,请参阅testing classes和resources。