正确的目录结构以进行Puppet RSpec测试

问题描述

在为Puppet控件存储库创建单元测试时遇到了一些问题。 我主要使用以下目录结构处理角色和配置文件

[root@puppet]# tree site
site
├── profile
│   ├── files
│   │   └── demo-website
│   │       └── index.html
│   └── manifests
│       ├── base.pp
│       ├── ci_runner.pp
│       ├── docker.pp
│       ├── gitlab.pp
│       ├── logrotate.pp
│       └── website.pp
├── role
│   └── manifests
│       ├── gitlab_server.pp
│       └── Nginx_webserver.pp

我需要在哪里放置我的规范文件,什么是正确的文件名? 我尝试将它们放在这里

[root@puppet]# cat spec/classes/profile_ci_runner_spec.rb

require 'spec_helper'

describe 'profile::ci_runner' do
...

但是我得到一个错误

找不到类:: profile :: ci_runner

解决方法

模块规格测试的常规位置是在模块中 ,在模块根目录中有spec/目录。例如site/profile/spec/classes/ci_runner_spec.rb

您可以考虑安装PDK,它可以帮助您设置结构和运行测试。