当前位置: 首页 > 知识库问答 >
问题:

在实现被测类的某些方法后生成新的 JUnit 测试

须峰
2023-03-14

我是IntelliJ的新手,我曾经使用过NetBeans。我的情况如下:

>

  • 我创建了类和相应的测试。

    我在类中创建了一些方法。

    IntelliJ 中是否有任何用于重构测试的功能,以便创建的新方法/函数将在测试类中生成相应的测试函数?我强调测试文件已经生成。

    编辑1:我的目标是更新当前的测试,而不是生成一个新的。我期待一个功能,实现新的测试功能到当前的测试。下面是代码片段的情况:

    src/pack/Foo.java

    package pack
    
    class Foo {
         \\ variables
         public Foo (arguments){
             \\ variable initialization
         }
    
         private void metho1(){ ... }
    
    • 我生成测试。

    Test/pack/FooTest.groovy

    package pack
    
    class FooTest {
         private static Foo tmp = new Foo (arguments)
    
         void testmetho1(){ ... }
    
    • 所以现在我在Foo.java中创建了几种方法

    src/pack/Foo.java

    package pack
    
    class Foo {
         \\ variables
         public Foo (arguments){
             \\ variable initialization
         }
    
         private void metho1(){ ... }
         private void metho2(){ ... }
         private void metho3(){ ... }
    
    • 我想要的是更新<code>FooTest。groovy的方式是在<code>Foo中创建<code>method2、method3将为它们生成函数测试

    Test/pack/FooTest.groovy

    package pack
    
    class FooTest {
         private static Foo tmp = new Foo (arguments)
    
         void testmetho1(){ ... }
         void testmetho1(){ ... }
         void testmetho1(){ ... }
    
  • 共有2个答案

    秦安宁
    2023-03-14

    请检查文档:

    创建测试方法

    要在 JUnit 测试类中创建存根测试方法,可以使用 IntelliJ IDEA 代码生成功能

      < li >在编辑器中打开相应的JUnit测试类。 < li >将光标放在您想要生成新测试方法的位置。 < li >按< kbd>Alt Insert并从生成菜单中选择测试方法。
    施自珍
    2023-03-14

    我将光标放在新方法名上

    按{Generate...(我想是默认的Alt插入)}

    选择“测试...”

    选择要为其生成测试脚手架的方法

    让它使用现有的类。

     类似资料:
    • 问题内容: 我有一些通用的设置代码,已将这些代码分解为标记为的方法。但是,不必为每个测试都运行所有这些代码。有没有一种标记方式,使得该方法仅在某些测试之前运行? 问题答案: 只需将不需要安装代码的测试移到单独的测试类中即可。如果您有一些测试通用的其他代码,可以帮助保留这些代码,请将其移到帮助程序类中。

    • 大家好,我需要为我的方法编写单元测试。我有点麻烦,因为我是JUnit的新手。我需要为这个方法写一个测试。这是我的方法 我试过了,但我被挡了,这是我的结果 附言:测试通过了,但我不明白我的测试是不是真的

    • 我目前正在与CDI Unit合作一个项目,我遇到了一个奇怪的问题。我试图在一个简单的项目中重现它: 我有一个使用CdiRunner运行的测试类(如下所述:http://jglue.org/cdi-unit-user-guide/我的测试类注入了被测试的单元:UUD。这个类扩展了一个超级类“ParentTestClass”,它目前是无用的。 测试课。爪哇: 正如我提到的,父类是空的。 ParentT

    • 我有一个测试方法,看起来像: 并行工作使用可关闭的资源来控制生命周期,该资源在方法中关闭: 问题是:方法是在完成工作之前和等待超时到期之前调用的。 怎么可能?那我该怎么解决呢?

    • 我试图实现一个特性,强制每个扩展它的类(不是抽象的)实现某些方法(即使它们已经存在于超类中)。具体来说,它应该是这样的: 这就是它的特点,也是它的实现: 上述代码在理想情况下不应编译(因为可调试类不实现所需的方法)。实际上,这不仅会编译,而且不会抛出运行时异常(它只接受对象类的默认实现)。 到目前为止,没有任何东西能够产生预期的行为。我认为宏可能会有所帮助,但我不确定宏是否可以表达以下内容: 我知

    • 问题内容: 我有一个测试类,其中包含几种典型的测试方法,这些方法可以进行断言或检查异常,并带有注释。它们在我在Ant任务中调用以下指令时运行: 但是,在同一堂课中,我想提出几种基准性能方法,这些方法未包含在必须通过的测试中。我想要一个完全独立的Ant任务来运行这些基准测试。 有没有注释的方法介绍这种测试分类并分别调用每个类别?例如,带注释的方法将是第一类,然后虚构的方法将仅记录用于诊断报告的性能指