SparkPost的单元测试


package johnny.me.controller;
import com.sparkpost.Client;
import com.sparkpost.model.responses.Response;
import com.sparkpost.exception.SparkPostException;
import org.springframework.stereotype.Service;
/**
* Sparkpost class sends the email using
* the sendmessage methood
*/

@Service 公共类 SparkPostController {

String API_KEY = "API KEY";
Client client = new Client(API_KEY);
private static String from_email = "me@yahoo.com";
private static String subject = "Time equation";
private static String text = "";
public Response sendMessage(String recipient, String message) throws SparkPostException {
return client.sendMessage(from_email,recipient,subject,
text,message);
}
}

这是我的火花柱控制器类。 尝试进行单元测试/模拟以发送消息。也称为回归测试 请非常具体,对单元测试相当陌生。在测试文件夹下制作我的类。这就是我得到的全部。

我是你上面提到的SparkPost java库的作者/维护者。

您上面显示的用例是SparkPost库的"最简单"用法。对于像您这样的代码,人们通常会使用您定义的"sendMessage(...)"函数创建一个接口。当单元测试有 spring(或测试)时,注入类的"存根"版本而不是生产版本。但是在生产或集成负载中,您上面显示的那个。

如果您确实想加载 SparkPost 库,有几种方法可以针对第三方库进行测试。我这样做的一种方法是使用 JMock 来测试库。或者,您可以在客户端具体实例上设置存根 IRestConnection(这是一个更高级的解决方案)。

根据您的需求,我认为上面的第一个建议是您最好的选择,并且在您使用其他第三方库时也很常见。

"App"目录中的文件是基本示例用法/集成示例。随意向此项目添加一个问题,以添加演示应用程序单元测试: https://github.com/SparkPost/java-sparkpost

"Lib"中的文件是实际的SparkPost库。

你可以在这里找到现有的库单元测试,这可以帮助你了解它是如何完成的。本质上有一个"IRestConnection"的存根实现。下面是一个示例,其中 StubRestConnection 是在 used 中创建的,而不是默认的实际RestConnection。

我希望这有帮助。

相关内容

  • 没有找到相关文章

最新更新