Java代码和Junit

问题描述 投票:-2回答:1

我想为这个类JUnit实现java代码;有人可以给我一个解决方案的轨道。

package com.sid.test;

import static org.assertj.core.api.Assertions.assertThat;

import org.junit.Test;


public class TestJUnit {

    @Test
    public void TestMethod1() {

        Prop Prop = new Prop("Mr White", "Mr Black", "Mr Blue")
                .source("White").destination("Black")
                .source("Black").destination("Blue");

        Prop.dire("Hello").destination("White");

        assertThat(Prop.demander("White")).isEqualTo("Hello");

        Prop.propager();

        assertThat(Prop.demander("White")).isEqualTo("");
        assertThat(Prop.demander("Black")).isEqualTo("Hello");

        Prop.propager();

        assertThat(Prop.demander("Black")).isEqualTo("");
        assertThat(Prop.demander("Blue")).isEqualTo("Hello");

    }

}

如何声明类Prop和他的方法。

java unit-testing junit
1个回答
0
投票

这堂课满足你的考试:

class Prop {
  private final Iterator<String> responses = Arrays.asList("Hello", "", "Hello", "", "Hello").iterator();

  Prop(String... ignored) {}

  Prop source(String ignored) { return this; }
  Prop destination(String ignored) { return this; }
  Prop dire(String ignored) { return this; }
  void propager() {}

  String demander(String ignored) {
    return responses.next();
  }
}

但希望你能看到这个类对人类或野兽完全没用。

你不能简单地编写一个基于一个测试用例的类。如果您的测试详尽地指定了类的行为,您可以编写一个类;但即使这样,也有很多方法可以实现满足测试的类。

您的测试不彻底,因此可以编写无意义的代码以允许它通过。

© www.soinside.com 2019 - 2024. All rights reserved.