当前位置: 首页 > 知识库问答 >
问题:

gradle junit和错误:找不到符号

解明辉
2023-03-14

我试图在我编译并部署到aws Lambda的概念证明类上从gradle运行一个简单的junit测试。类auth.java接受一个POJO,只有一个属性email。它自己编译得很好,并在AWS上工作。但是,当我跑的时候:

gradle build

我收到以下错误:

Auth.java:6: error: cannot find symbol
System.out.println(payload.email);
symbol:   variable email
location: variable payload of type Object
1 error
:compileJava FAILED

如果我system.out.println(payload.email);testauth.java中访问对象的属性没有问题。我是不是没有掌握一些关键的java或gradle概念?我已经重构了5种不同的方式,但我总是收到这找不到符号错误。有人有什么想法吗?这是我的简化代码。

package works.valt.api;

public class Auth {

    public Auth(Object payload) {
        System.out.println(payload.email);
    }

}
import org.junit.Test;
import org.junit.Before;
import static org.junit.Assert.assertEquals;
import works.valt.api.Auth;

public class TestAuth {

    public class Payload {
      public String email = "test@testing.com";
    }

    private Payload payload;

    // create payload
    @Before
    public void setUp() {
      this.payload = new Payload();
    }    

   @Test
   public void testResponse() {
      Auth response = new Auth(this.payload);
   }

}

Build.Gradle

apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
    testCompile 'junit:junit:4.12'
}

test {
    testLogging.showStandardStreams = true
}

task buildZip(type: Zip) {
    from compileJava
    from processResources              
    into('lib') {
        from configurations.runtime
    }           
}

build.dependsOn buildZip

共有1个答案

白哲茂
2023-03-14
public Auth(Object payload) {
    System.out.println(payload.email);
}
Auth.java:6: error: cannot find symbol
System.out.println(payload.email);
symbol:   variable email
location:
variable payload of type Object
 类似资料:
  • 这里有一个类似的答案:如何在Java中将函数作为参数传递? 但提供的正确答案不起作用。我有一门课: 在函数内部我试图将传递到,但我得到的错误是: 找不到符号 符号:类Callable 我不知道为什么。 另外,我尝试使用返回类型字符串作为xMethod,您能传递一个返回类型不同的函数吗?

  • 问题内容: 我使用时代码工作正常 吗?在我看来这很奇怪。 (错误显示在终端上) 问题答案: 这是 Arrays 类的静态方法。 您应该像这样调用它: 请注意,您仍然必须像这样导入Arrays类: 或者像其他人提到的那样,如果您进行静态导入,则可以省略类名。 我认为这样做对可读性更好。

  • (菜鸟失误,我确定。) 我是计算机科学专业的一年级学生,正在尝试用代码编写作业程序; 但是在编译时,我得到了错误; Lab10Ex1.java:10: 错误: 找不到符号 System.out.print(n 1);^ 符号:变量n 位置: 班级 Lab10Ex1 如果有人能向我解释我做错了什么,或者如何纠正它,我会非常感激。

  • 我有一个问题,我试图实现一个JMenuBar,但不断得到一个不能找到符号错误。我将JFrame与main方法一起放在一个单独的类中,JFrame将安装MainPanel类的一个对象。我在这里漏掉了什么?如有任何帮助将不胜感激,谢谢! 符号:方法setJMenuBar(JMenuBar) 位置:类主面板

  • 我在应用程序中使用GreenDao。Proguard已启用调试生成。 添加数据绑定支持后,出现了以下问题: /app/src/main/java/com/example/MainApplication。java:29:错误:找不到符号 私人道会; 符号:class DaoSession位置:class主应用程序 同样的问题也会出现在道士身上。 此外,这个问题来了: 应用build.gradle:

  • 我正在使用springboot和gradle,我正在尝试在控制器中执行下面的代码。 在编译时,我得到以下错误 错误:找不到symbol=List.of(“水星”,“金星”,“地球”,“火星”,^symbol:方法of(String,String,String,String,String,String,String,String,String,String) 位置:接口列表 我的分级档案 sourc