gpt4 book ai didi

java - gradle junit 和错误 : cannot find symbol

转载 作者:行者123 更新时间:2023-12-02 04:13:14 25 4
gpt4 key购买 nike

我正在尝试从 gradle 对我已编译并部署到 aws lambda 的概念验证类运行简单的 junit 测试。 Auth.java 类采用具有单个属性 email 的 POJO。它本身编译得很好并且可以在 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

如果我从 TestAuth.javaSystem.out.println(payload.email); 我可以毫无问题地访问对象的属性。我在这里未能掌握一些关键的 java 或 gradle 概念吗?我已经用 5 种不同的方式重构了这个东西,但我总是收到找不到符号错误。有人有什么想法吗?这是我的简化代码。

<小时/>

./src/main/java/Auth.java

package works.valt.api;

public class Auth {

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

}

./src/test/java/TestAuth.java

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);
}

}

构建.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

最佳答案

Auth 的构造函数有一个对象类型的参数。并且 Object 类没有名为 email 的变量。将参数类型更改为 Payload

关于java - gradle junit 和错误 : cannot find symbol,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33581523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com