【问题标题】:Mocking a REST:Client::REST模拟 REST:Client::REST
【发布时间】:2016-05-11 13:18:14
【问题描述】:

我正在尝试对 RT 系统进行单元测试,因此我需要在本地模拟一个 RT 实例。基本上,我正在连接到 RT 系统,并且正在处理工单的队列。有人有喜欢的代码示例或任何想法吗?我想我需要模拟 LWP::UserAgent 但我不确定。 请出主意。提前致谢!

【问题讨论】:

  • 查看 Test::LWP::UserAgent。它可以做相当高级的事情。您需要查看您期望的响应类型,并模拟 T::L::UA 中的响应
  • 我们可以聊聊吗?如果可以,请创建一个聊天室并告诉我。像往常一样感谢@simbabque
  • 抱歉,现在不行。我建议你edit你的问题包括更多细节。你到底在测试什么?某些端点,还是整个事情?如果你设法把它归结为基础,你可以删除 RT 的上下文,这个问题会得到更多的关注。
  • 好的,非常感谢!会这样做。
  • 我如何知道我应该得到的响应?有什么办法吗?

标签: perl mocking rt


【解决方案1】:

在下面找到我的示例:

my $mock = Test::MockModule->new('REST::Client');
my $raw_response = '';
$mock->mock(
    POST => sub { # You can do the same for GET :)
        my ($ua, $request) = @_;
        if ($request =~ /confirm/) {
            $raw_response = $confirm_response_ok; # This is response for Confirm Method in my Code
        }
        elsif ($request =~ /transfers/) {
            $raw_response = $create_response_ok; # This is response for Create transfer in my Code
        }
        return '';
    },      
    responseCode => sub {
        my $self = shift;
        return '200';
    },      
    responseContent => sub {
        my $self = shift;
        return $raw_response;
    }
);

来自迈阿密的爱。你知道在哪里可以找到我们:)

埃维里奥和哈罗德

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 2018-03-14
    • 1970-01-01
    • 2021-05-13
    • 2015-08-15
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    • 1970-01-01
    相关资源
    最近更新 更多