junit-无法对customer类型的非静态方法setusername(string)进行静态引用

8gsdolmq  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(232)

**结案。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

32分钟前关门了。
改进这个问题
我是java&ood新手,一直在尝试为一个小型jdbc项目编写一些测试,但是在获得greenlight的测试时遇到了问题。我就是从这里开始的,玩了很多也没用。
这是我的测试:

@Test // 3
public void testThatWhenIAddACustomerThatWHenICallTheGetCustomerMethodInCustomerDAOItReturnsTheUser() {

    CustomerDAO customerDAO = new CustomerDAO();
    customerDAO.setEntityManager(entityManager);
    Customer customer = new Customer();
    Customer.setUsername("Customer1");
    customerDAO.addCustomer(customer);

    Customer customerInDB = customerDAO.getCustomer("Customer1");
    String usernameInDB = customerInDB.getUsername();
    assertEquals("Customer1", customerInDB);

}

我的刀:

public void addCustomer(Customer customer) {
    EntityTransaction entityTransaction = entityManager.getTransaction();
    entityTransaction.begin();
    entityManager.persist(customer);
    entityTransaction.commit();

}

public Customer getCustomer(String username) {
    Customer customerInDB = entityManager.find(Customer.class, username);
    return customerInDB;
}

public void removeCustomer(String username) {

    Customer customerInDB = entityManager.find(Customer.class, username);

    EntityTransaction entityTransaction = entityManager.getTransaction();
    entityTransaction.begin();

    entityManager.remove(customerInDB);
    entityTransaction.commit();

}

我的客户类别:

@Entity public class Customer {
@Id public String username;

private int customerId;
private double customerBalance;
private String firstName;
private String lastName;
private String email;

public String getUsername() {
    return username;
}

public void setUsername(String username) {
    this.username = username;
}
huus2vyu

huus2vyu1#

您的问题在第行:

Customer.setUsername("Customer1");

你有一个大写c,所以你用的是类名而不是变量名。案子很重要!

相关问题