2017-06-01 144 views
0

我有一個java cucumber項目,它設置了所有需要的依賴項,運行最新的cucumber-java,cucumber-junit和小黃瓜等。也有黃瓜和小黃瓜安裝的插件。無法創建.feature黃瓜文件IntelliJ - '無法創建類文件'

IntelliJ不允許我創建擴展名爲「.feature」的文件。我收到'無法創建類文件'錯誤。奇怪的是,如果我在./resources/features文件夾中創建了一個常規文件(即沒有.feature擴展名),然後將其作爲「黃瓜場景」文件進行關聯,IntelliJ會識別該文件並在其前綴中添加綠色黃瓜標誌文件目錄。它還識別所有'When When Then'語法並正確地在文件中對其進行格式化。但是當我運行我的亞軍時,它報告沒有找到任何功能。我認爲這是因爲它正在尋找'.feature'的擴展名?

有沒有人有過這個問題?它讓我感到困惑,因爲它看起來像黃瓜和黃瓜,因爲它允許我創建一個黃瓜場景文件,但不是'.feature'擴展名。有關信息,我的跑步者文件如下所示。感謝任何幫助,其驅使我瘋狂:)

@RunWith(Cucumber.class) 
@CucumberOptions(features = "C:\\Users\\joe.bloggs\\Desktop\\dram_automation_suite\\src\\test\\resources\\features") 
public class CucumberRunTest { 
} 
+0

另外,下面是我的目錄: 的src /測試/ JAVA/ COM/mypackage中/ \t \t StepsDef \t \t魚鉤 \t \t \t CucumberRunner 資源 功能 等等(這是公認的特徵文件黃瓜但沒有.feature分機) –

+0

更新:我注意到,如果我給它的功能的確切名稱,即@CucumberOptions(features =「C:\\ Users \\ joe.bloggs \\ Desktop \\ dram_automation_suite \\ SRC \\ \\測試資源\\ \\功能*名」那麼這實際上起作用。它顯然不可持續,因爲這意味着我只能擁有一個功能文件。我如何使這更通用? –

回答

1

你的錯誤聽起來確實很奇怪。我在創意中創建文件,任何文件的經驗都很有用。你確定你沒有試圖創建一個Java文件,即一個類?

對於您的其他問題,將功能文件放置在測試跑步者所在的同一個軟件包中。但在資源目錄中。

如果你的亞軍住在包com.company.lucy那麼該功能的文件存儲在src/test/resources/com/company/lucy 這將使黃瓜找到它,因爲黃瓜搜索它的類路徑和使用每一個文件它查找名爲.feature

這將讓你speciy你的亞軍爲:

@RunWith(Cucumber.class) 
public class CucumberRunTest { 
} 

而你的維護許多功能文件的問題將消失。

因爲這似乎是一個Maven項目,放置在資源文件夾中的任何東西都會在您的類路徑中結束。 src/test/resources中的任何內容都將在您的測試類路徑中結束。