我在IntelliJ IDEA中安装了cuc-java和gherkin插件,但是当我创建.feature文件时,它不会被识别为特征文件。我确实重启了IntelliJ并检查过以确保插件设置窗口中已启用插件。feature file in IntelliJ
答案 0 :(得分:10)
如果您启用了子步骤IntelliJ插件,则可能存在问题。你将需要删除并重新启动。
答案 1 :(得分:9)
检查设置 - >编辑器 - >文件类型。确认Cucumber Scenario已设置为* .feature的已注册模式。
答案 2 :(得分:6)
检查文件 - >设置 - >编辑 - >单击文件类型,然后单击文本文件类型。查看下面的“已注册模式”部分,确认您尝试创建的文件不在文本文件类型的已识别模式列表中。
如果您创建的文件没有最初为其提供.feature扩展名,则可能会发生这种情况。如果你这样做,然后尝试添加扩展名,那么IntelliJ可能仍然认为它是一个文本文件,不会将其视为一个特征文件。这对我来说很有用。
如果您发现IntelliJ将您想要的功能文件识别为其他类型的文件,请检查该文件类型的已识别模式,然后再次验证您尝试创建的文件不在该列表中
请参阅http://www.gisremotesensing.com/2014/11/solution-intellij-not-recognizing.html
对于某些设置,这只是故事的一半。一次,您删除了旧文件类型;现在按照以下步骤操作:
现在你已经准备好了。功能文件将恢复正常。
答案 3 :(得分:1)
此问题的根本原因是Cucumber-Java插件正在寻找从StepDefinitions文件中的软件包cucumber.api.java.en.Given
(已描述)中导入的BDD注释。如果StepDefinitions文件由来自软件包io.cucumber.java.en.Given
的BDD注释组成,则功能文件将无法识别/突出显示这些步骤。此问题与Intellij版本无关。
临时解决方案
将您的StepDefinitions文件中的导入语句从import io.cucumber.java.en.Given;
更改为import cucumber.api.java.en.Given;
,将其应用于When, Then and But
,除非您不介意使用不推荐使用的方法;)
注意
如果您使用info.cukes
依赖性,那么黄瓜Java插件将不会有任何问题
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.2.5</version>
</dependency>
如果您有io.cucumber
依赖项,则需要使用临时解决方案
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>4.6.0</version>
</dependency>
答案 4 :(得分:0)
从菜单的“文件”选项导航至设置,然后->编辑器->文件类型->选择黄瓜方案(可识别的文件类型) 观察是否已注册模式具有* .feature(如果没有),请单击+图标并在已注册模式中添加* .feature。 应用更改并保存。 它解决了我的.feature文件问题。谢谢!
答案 5 :(得分:0)
我在文件扩展名中有一个错字。容易错过。
验证功能部件文件名以.feature
结尾。
答案 6 :(得分:0)
对我来说,情况甚至更糟。 .feature扩展名已分配给文本。以前创建的.feature文件仍然是真实功能文件,这很奇怪。但是新创建的特征文件被视为纯文本。因此,请检查所有相关的文件类型,因为intelIj对此做了奇怪的事情。
答案 7 :(得分:0)
我遇到了同样的问题: 我的IDE中未启用子步骤... soooo:
检查文件类型模式中以前的文件是否具有垃圾功能。不知何故,我在文本格式文件类型下有两个功能文件...导致新功能文件在创建时无法被识别。
我认为,如果您在创建时未将文件标记为功能文件,然后在重构时执行此操作,则会发生这种情况。然后intelliJ将特征文件的模式保存在文本类型...
下答案 8 :(得分:0)
就我而言,当我尝试添加 import requests
import bs4
import lxml
result=requests.get("https://www.1mg.com/drugs-all-medicines")
#print((type(result)))
soup = bs4.BeautifulSoup(result.text,"lxml")
#print(soup)
scrape=soup.find_all('div', attrs={'class': 'style__font-bold___1k9Dl style__font-14px___YZZrf style__flex-row___2AKyf style__space-between___2mbvn style__padding-bottom-5px___2NrDR'})
for div in scrape:
bar=div.find('div')
print(bar.text)
文件时,出现了一个提示,我将文件添加为文本。然后Intellij 自动提示它找到了匹配.feature
文件的插件(Gherkin 插件)。安装 .feature
插件后,IntelliJ 自动将文件格式化为 Gherkin
格式
答案 9 :(得分:0)