Intellij idea 草书/Intellij-未定义的步骤定义警告

Intellij idea 草书/Intellij-未定义的步骤定义警告,intellij-idea,clojure,cursive,Intellij Idea,Clojure,Cursive,我正在使用leinccumber编写cumber测试。 我的测试套件执行时没有任何错误,但我的IDE会标记这些警告: 无法解决给定的问题 那就无法解决 未定义的步骤引用: 我已经在Intellij中安装了插件:草书、黄瓜和小黄瓜。但这些警告仍然显示 这是我的project.clj文件: (defproject app version :dependencies [ [org.clojure/clojure "1.8.0"] [org.clojure/tools.logging

我正在使用
leinccumber
编写cumber测试。 我的测试套件执行时没有任何错误,但我的IDE会标记这些警告:

  • 无法解决给定的问题
  • 那就无法解决
  • 未定义的步骤引用:

我已经在Intellij中安装了插件:
草书
黄瓜
小黄瓜
。但这些警告仍然显示

这是我的project.clj文件:

(defproject app version
  :dependencies [
  [org.clojure/clojure "1.8.0"]
  [org.clojure/tools.logging "0.4.0"]
  [org.clojure/tools.cli "0.3.5"]
  [org.clojure/data.json "0.2.6"]
  [clj-http "3.9.1"]
  [mysql/mysql-connector-java "5.1.38"]
  [org.slf4j/slf4j-log4j12 "1.7.25"]
  [log4j/log4j "1.2.17" :exclusions [javax.mail/mail
  javax.jms/jms
  com.sun.jmdk/jmxtools
  com.sun.jmx/jmxri]]
  [metosin/compojure-api "1.1.11"]
  [metosin/ring-swagger "0.24.3"]
  [compojure "1.6.0"]
  [cheshire "5.8.0"]
  [ring "1.6.3"]
  [ring/ring-json "0.4.0"]
  [ring-logger "0.7.7"]
  [environ "1.1.0"]
  [korma "0.4.3"]
  [blackwater "0.0.9"]
  [prismatic/schema "1.1.7"]
  [siili/humanize "0.1.1"]
  [amazonica "0.3.117"]
  [clj-time "0.14.2"]
  [ring-cors "0.1.12"]
  [commons-io "2.0"]
  ]

  :plugins      [
  [lein-ring "0.12.1"]
  [lein-cucumber "1.0.2"]
  [lein-cloverage "1.0.10"]
  [lein-kibit "0.1.6"]
  [lein-cloverage "1.0.10"]
  [lein-try "0.4.3"]
  [nightlight/lein-nightlight "1.0.0"]
  [jonase/eastwood "0.2.3"]
  [cider/cider-nrepl "0.16.0"]
  ]

  :min-lein-version "2.5.3"

  :ring {:handler app.api.handler/app}

  :source-paths ["src"]

  :resource-paths ["resources"]

  :test-paths ["test/unit"
  "test/features"]

  :cucumber-feature-paths ["test/features"]

  :profiles {:uberjar {:aot :all}}
  )

当使用动态定义变量/函数的库时,可能会发生这种情况。草书无法发现这些定义,因为它需要计算生成这些定义的代码


看来情况就是这样。我也在Amazonica这样的库中看到了这一点,它们基于AWS SDK生成定义。

当使用动态定义变量/函数的库时,可能会发生这种情况。草书无法发现这些定义,因为它需要计算生成这些定义的代码


看来情况就是这样。我也在Amazonica这样的库中看到了这一点,它们基于AWS SDK生成定义。

你是说这是预期的行为吗?这有点暗示,当您指定测试路径时,警告应该消失,但对我来说不是:(@Freid001教程说修复程序将消除IntelliJ的错误猜测(
javafx.beans.binding.when
),并不是说它可以解决这些问题。这是使用宏定义符号时的问题。IDE无法知道使用宏创建了哪些符号。你是说这是预期的行为吗?这在某种程度上意味着,当你指定测试路径时,警告应该消失,但对我来说,它没有:(@Freid001该教程说,修复程序将消除IntelliJ的错误猜测(
javafx.beans.binding.When
),而不是允许解决这些错误。这是使用宏定义符号时的问题。IDE无法知道使用宏创建了哪些符号。