Wir haben gerade das aufgenommen, was wir Smoke Specs oder Core Features Specs nennen, in beiden Skeletten für Plugins und Themes.
Diese Specs stellen sicher, dass das Plugin oder Theme, an dem Sie arbeiten, die grundlegende Funktionalität von Discourse nicht beeinträchtigt.
Es ist einfach, diese Specs zu einem bestehenden Plugin oder Theme hinzuzufügen:
Für ein Plugin
# spec/system/core_features_spec.rb
RSpec.describe "Core features", type: :system do
before { enable_current_plugin }
it_behaves_like "having working core features"
end
Für ein Theme
# spec/system/core_features_spec.rb
RSpec.describe "Core features", type: :system do
before { upload_theme_or_component }
it_behaves_like "having working core features"
end
Wenn Sie viele Repositories auf einmal aktualisieren müssen, ist ein Skript für unser mass-pr-Tool verfügbar.
Wenn das Plugin oder Theme, an dem Sie arbeiten, eine grundlegende Funktionalität von Discourse absichtlich ändert, ist es möglich, einige der Beispiele aus den Core Features Specs zu überspringen:
it_behaves_like "having working core features", skip_examples: %i[login likes]
Hier ist die vollständige Liste der Schlüsselwörter zum Überspringen von Beispielen:
- login
- likes
- profile
- topics
- topics:read
- topics:reply
- topics:create
- search
- search:quick_search
- search:full_page