2017-02-15 15 views
-2

enter image description hereТесты Failed: 0 прошло, 1 не удалось При использовании Junit проверить мой метод

Мой код ниже:

@Test 
public void testTrans() { 

    AccountDao accountDao = new AccountDao(); 
    accountDao.trans(); 
    System.out.printf("test trans()"); 
} 

Когда я с помощью JUnit для проверки метода, возникает вопрос, это ниже информация о событии Журнал:

2017/2/15
上午 10:08 Все файлы уточненный

上午 10:08 Тесты Failed: 0 прошло, 1 не удалось

Update

Это мой AccountDao.java, и в нем

public class AccountDao { 

private Connection con; 
private PreparedStatement pstmt; 


public void trans() { 

    String sql_zs = "UPDATE account SET money=money-100 WHERE accountName='zhangsan';"; 
    String sql_ls = "UPDATE account SET money=money+100 WHERE accountName='李四';"; 

    try { 

     con = JdbcUtil.getConnection(); 
     con.setAutoCommit(false);   
     pstmt = con.prepareStatement(sql_zs); 
     pstmt.executeUpdate(); 


     pstmt = con.prepareStatement(sql_ls); 
     pstmt.executeUpdate(); 

    } catch (Exception e) { 
     e.printStackTrace(); 

     try { 
      con.rollback(); 
     } catch (SQLException e1) { 
      e1.printStackTrace(); 
     } 

    }finally { 
     JdbcUtil.closeAll(con, pstmt, null); 
     try { 
      con.commit(); 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
    } 

} 
} 

И вызывать этот метод в конце концов, , чтобы изменить деньги, в море, деньги не изменились:

enter image description here

+1

Так у вас есть один тест, и это не удалось. (Ваш тест бесполезен, BTW. Он ничего не тестирует и не указывает на успех, если он пройдет.) В чем ваш вопрос? –

+0

Вы уверены, что используете правильный набор тестов? Потому что я не видел строку 'printf' на консоли –

+1

Downvote для глупого названия. – EJP

ответ

1

Maer Я думаю, что вам не хватает утверждения. Предполагая, что ваша функция .trans изменяет какое-то значение внутри вашего объекта, вы можете утверждать, что эти изменения происходят. Я свяжусь с вами документацией подтверждения. http://junit.sourceforge.net/javadoc/org/junit/Assert.html Как только вы реализуете один из методов assert, чтобы утверждать, что что-то истинно, ваш тест должен пройти.

Пример использования утверждения:

@Test 
public void passingTest(){ 
    Assert.assertEquals(1, 1); // This will pass. 
} 

@Test 
public void failingTest(){ 
    Assert.assertEquals(1,2); // This will fail. 
} 

Успехов люди. Рад видеть, как вы тестируете свой код.

+0

спасибо, это поможет мне. – maer

+0

Эй! Рад, что это сработало приятель. Удачи в тестировании! –

0

Я считаю, что при выполнении тестового примера есть какое-то исключение. Вы должны проверить консоль на любое исключение. Я не вижу никаких утверждений в вашей тестовой папке ... что вы хотите протестировать?

-1

enter image description here 应该 是 你 的 тест 方法 没有 放在 тест 包里 的 问题 吧 ......

+0

попробуйте использовать английский язык в таком месте, как это, пожалуйста, –

+0

@ 邹远锋 Как это сделать? – maer

+0

Я думаю, вы можете попытаться сломать точку debugging.I использовал gradle get, с вашей структурой каталогов не то же самое, мой метод тестирования не помещен в тестовый пакет не может быть использован, я просто пытался получить соединение с базой данных, написал запрос, но также может быть нормальным. Не пробовал ваш вопрос –

 Смежные вопросы

  • Нет связанных вопросов^_^