ruby - rails里面的feature文件是干什么用的?平时用的多吗?
高洛峰
高洛峰 2017-04-24 09:09:29
0
3
824

我看了一下,好像还是语义化的,非常神奇,这个特性是怎么用的呢?

Then "I should be served coffee" do
  @machine.dispensed_drink.should == "coffee"
end
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(3)
黄舟

Ce n'est pas du matériel Rails, c'est la définition des étapes de Cucumber est un framework de test d'acceptation BDD. La partie que vous voyez est un morceau de code pour tester les assertions. Cucumber utilise un DSL proche du langage naturel, la syntaxe est donc très conviviale. Cependant, les programmeurs eux-mêmes ne suivent pas le style de Cucumber, qui est principalement utilisé pour les scripts de tests commerciaux. Les programmeurs eux-mêmes préfèrent la syntaxe procédurale et une sémantique appropriée suffit. Dans le monde Ruby, MiniTest et RSpec sont des frameworks de test plus populaires.


De plus, après y avoir bien réfléchi, ce n'est peut-être pas du concombre. Au début, je pensais que c'était à cause de la méthode Then, mais Cucumber semble utiliser Then dans le scénario, n'est-ce pas ? (Mémoire floue)

Si c'est RSpec ou quelque chose comme ça, y a-t-il un Then ? Peut-être une DSL étendue ? C'est possible, alors conclure hâtivement qu'il s'agit de concombre pourrait être une erreur.

Cependant, il s'agit bien d'un code de test et n'appartient pas à Rails lui-même.

洪涛

En termes d'utilisation, la fonctionnalité est utilisée pour créer des cas de test de fonctionnalités fonctionnelles, non seulement limités à Cucumber, RSpec peut également l'utiliser, comme ici https://github.com/agilejzl/blog-eye/tree/ master /spec/features, @nightire peut avoir des tests de processus de classe Then avec la gemme 'rspec-example_steps'.

大家讲道理

est le code du concombre. Ensuite est utilisé dans le fichier .feature pour décrire le processus, ou dans le fichier _steps.rb pour analyser le processus. Celui mentionné ci-dessus est évidemment le dernier. Il se trouve sous le chemin ../features/step_definitions/.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal