İki ilk test fonksiyonumu basit yazmayı denedim.İki (junit) test fonksiyonu yaratın
public Milestone create(Milestone milestone) throws ClassNotFoundException, SQLException {
String id = UUID.randomUUID().toString();
milestone.setId(id);
Class.forName("org.h2.Driver");
Connection connection = DriverManager.getConnection("jdbc:h2:~/dao_db", "sa", "");
PreparedStatement prepareStatement = connection.prepareStatement("INSERT INTO MILESTONE VALUES(?, ?,?)");
prepareStatement.setString(1, id);
prepareStatement.setString(2, milestone.getName());
prepareStatement.setString(3, milestone.getDescription());
prepareStatement.executeUpdate();
connection.close();
return milestone;}
ikincisi bir güncelleme fonksiyonudur: Ben test etmek istiyorum
ilk fonksiyon oluşturmak fonksiyonudur
public Milestone update(Milestone milestone) throws ClassNotFoundException, SQLException{
Class.forName("org.h2.Driver");
Connection connection = DriverManager.getConnection("jdbc:h2:~/dao_db", "sa", "");
PreparedStatement prepareStatement = connection.prepareStatement("UPDATE MILESTONE SET NAME=?, DESCRIPTION = ? WHERE ID=?");
prepareStatement.setString(1, milestone.getName());
prepareStatement.setString(2, milestone.getDescription());
prepareStatement.setString(3, milestone.getId());
prepareStatement.executeUpdate();
connection.close();
return milestone;};
Sonra ben bu iki işlevi yazmaya çalıştı:
import static org.junit.Assert.*;
import java.sql.SQLException;
import org.junit.Test;
import model.Milestone;
public class MilestoneDAOImplTest {
@Test
public void createTest() throws ClassNotFoundException, SQLException {
MilestoneDAOImpl ms = new MilestoneDAOImpl();
Milestone milestone = new Milestone("test","test");
assertNotNull("milestone created", ms.create(milestone)); }
@Test
public void updateTest() throws ClassNotFoundException, SQLException {
MilestoneDAOImpl ms = new MilestoneDAOImpl();
Milestone milestone = new Milestone("test","test");
assertNotNull("milestone updated", ms.update(milestone)); }
Bu iki test işlevinin doğru olup olmadığını bana söyler misiniz? Çünkü böyle testler yapmanın anlamsız olduğunu anladım. Ben mesela benim createTest işlevinde, tek doğrulama
assertNotNull("milestone created", ms.create(milestone));
olduğu Ama aynı zamanda (aynı işlevi ms.create (dönüm noktası) aynı şeyi yaparak benim ana sınıfında olduğunu doğrulamak anlamına gelir. Yani, Bu testlerin gerçek yararı nedir? (eğer bu testler doğruysa?) Gerçek bir fark görmedim (Java'da yeni biriydim)
Ayrıca, bazı readFunctions ve değerleri doğrulayarak aynı kaydı almaya çalışarak başarıyla oluşturulmuşsa, kaydı kontrol edebilirsiniz. Bu test yöntemlerini, görüntülenmek istediğiniz gibi bazı bağlamlarda kullanıyorsanız bazı ekranlarda o zaman bu çeki de ekleyebilirsiniz –