首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SparkPost的单元测试

SparkPost的单元测试
EN

Stack Overflow用户
提问于 2017-03-20 22:16:11
回答 1查看 201关注 0票数 0
代码语言:javascript
复制
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
*/

@服务公共类SparkPostController {

代码语言:javascript
复制
    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控制器类。尝试进行单元测试/模拟以发送消息。也被称为回归测试,请非常具体,对单元测试来说是相当新的。让我的类在testing folder.Thats下完成我得到的所有东西。

EN

回答 1

Stack Overflow用户

发布于 2017-04-03 21:35:39

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

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

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

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

"App“目录中的文件是基本的示例用法/集成示例。欢迎在此项目中添加用于添加演示应用程序单元测试的问题:https://github.com/SparkPost/java-sparkpost

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

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

我希望这能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42905933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档