rspec-html-matchers 项目教程
1. 项目的目录结构及介绍
rspec-html-matchers/
├── CHANGELOG.md
├── Gemfile
├── LICENSE.md
├── README.md
├── Rakefile
├── TODO.md
├── cucumber.yml
├── dev_notes.md
├── gitignore
├── rubocop.yml
├── rubocop_todo.yml
├── yardopts
├── features/
│ └── ...
├── lib/
│ └── ...
├── spec/
│ └── ...
└── rspec-html-matchers.gemspec
- CHANGELOG.md: 记录项目版本变更历史。
- Gemfile: 定义项目依赖的Gem。
- LICENSE.md: 项目的许可证信息。
- README.md: 项目的基本介绍和使用说明。
- Rakefile: 用于定义Rake任务。
- TODO.md: 项目待办事项列表。
- cucumber.yml: Cucumber配置文件。
- dev_notes.md: 开发者笔记。
- gitignore: Git忽略文件配置。
- rubocop.yml: RuboCop代码风格检查配置。
- rubocop_todo.yml: RuboCop待处理配置。
- yardopts: Yard文档生成器配置。
- features/: Cucumber功能测试文件夹。
- lib/: 项目主要代码文件夹。
- spec/: RSpec测试文件夹。
- rspec-html-matchers.gemspec: Gemspec文件,定义Gem的元数据和依赖。
2. 项目的启动文件介绍
项目没有明确的“启动文件”,因为这是一个测试工具库,通常在RSpec测试中引入并使用。可以在RSpec配置中引入:
RSpec.configure do |config|
config.include RSpecHtmlMatchers
end
或者在具体的测试文件中引入:
describe "my view spec" do
include RSpecHtmlMatchers
it "has tags" do
expect(rendered).to have_tag('div')
end
end
3. 项目的配置文件介绍
- Gemfile: 定义了项目依赖的Gem,例如:
source 'https://rubygems.org'
gem 'rspec-html-matchers'
- rspec-html-matchers.gemspec: 定义了Gem的元数据和依赖,例如:
Gem::Specification.new do |spec|
spec.name = "rspec-html-matchers"
spec.version = '0.10.0'
spec.authors = ["kucaahbe"]
spec.summary = %q{Nokogiri based 'have_tag' and 'with_tag' matchers for RSpec}
spec.description = %q{Nokogiri based 'have_tag' and 'with_tag' matchers for RSpec}
spec.homepage = "https://github.com/kucaahbe/rspec-html-matchers"
spec.license = "MIT"
spec.files = `git ls-files`.split($/)
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ["lib"]
spec.add_dependency "nokogiri", "~> 1"
spec.add_dependency "rspec", ">= 3.0.0"
spec.add_development_dependency "capybara", "~> 2"
spec.add_development_dependency "cucumber", "~> 1"
spec.add_development_dependency "rake", "~> 10"
spec.add_development_dependency "rubocop", "= 0.76.0"
spec.add_development_dependency "selenium-webdriver", "~> 3"
spec.add_development_dependency "simplecov", "~> 0"
spec.add_development_dependency "sinatra", "~> 1"
spec.add_development_dependency "webdrivers