IDEA-Java自動生成ユニットテスト


この文章は私のJekyllブログに先発します:zhang 0 peterの個人ブログ
最近ユニットテストを書いていて、Mockを書くのにうんざりしているような気がして、既成のspringプロジェクトのユニットテスト生成ツールがあるかどうか見たいです.
ネット上でJavaユニットのテスト回答の集合を見つけました:Automatic generation of unit tests for Java?-Stack Overflow
Squaretest
公式サイト:Squaretest-Java Unit Test Generator for IntelliJ IDEA
インストール方法はIDEAカード倉庫からSquaretestをインストールする
使用方法:SquaretestLLC/Squaretest:the Squaretest plugin for IntelliJ IDEA
一度使った後、本当に使いやすいと感じました.特にtestファイルを書くときに自動的にテスト関数を生成して、とても使いやすいです.
Spring serviceサンプルコード:
import java.util.List;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;

@Service
public class springServiceImpl {

    @Data
    static public class Person {
        private String name;
        private Integer age;
    }

    public boolean judge(List<Person> persons) {
        for (Person person : persons
        ) {
            if (StringUtils.isBlank(person.getName()) || person.getAge() == null) {
                return false;
            }
        }
        return true;
    }
}

その後、テストクラスでpublicを打つと、自動補完関数は次のようになります.
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = DemoApplication.class)
@ActiveProfiles("test")
public class springServiceImplTest {

    @Autowired
    private springServiceImpl springService;

    @Test
    public void testJudge() {
        // Setup
        final springServiceImpl.Person person = new springServiceImpl.Person();
        person.setName("name");
        person.setAge(0);
        final List<springServiceImpl.Person> persons = List.of(person);

        // Run the test
        final boolean result = springService.judge(persons);

        // Verify the results
        assertTrue(result);
    }
}

本当に使いやすくて、特にsetとgetを自動的に配置して、手動で配合する必要がなくて、多くの時間を節約しました.
その他
Javaのunit test Generatorはまだたくさんありますが、ほとんどは更新されていません.
Randoop:Automatic unit test generationfor Java:最終更新時間:2020-07-28、まだ更新されているユニットテストジェネレータは少数ですが、使い勝手が悪くて試していません.
JUnitGenerator V 2.0-plugin for IntelliJ IDEA and Android Studio|JetBrains:最終更新時間:2015-05-06
CodePro Analytix/CodePlex AnalytiXは2011年にグーグルに買収されてから更新されていません.
JUnit-Tools:Eclipseのみサポート、最終更新時間:2018-11-09
EvoSuite|Automatic Test Suite Generationfor Java:最終更新時間:2018-04-06