如何在测试环境中使用wkhtmltopdf-binary

时间:2016-06-07 05:28:04

标签: ruby-on-rails wkhtmltopdf

我想编写一个测试用例来验证pdf生成的行为。我的开发组中已添加gem 'wkhtmltopdf-binary', '~> 0.9.9.3',现在我也将其添加到测试组中。在我运行测试用例之后,它会出现以下错误:

  

PDFKit :: NoExecutableError:找不到wkhtmltopdf可执行文件   的/ usr / local / bin中/ wkhtmltopdf

这就是我在pdfkit.rb文件中的内容。

 PDFKit.configure do |config|
      config.wkhtmltopdf = '/usr/local/bin/wkhtmltopdf'
    end

Pdf在开发环境中运行正常,但其测试用例是错误,我该如何解决这个问题?我正在使用Ubuntu。

1 个答案:

答案 0 :(得分:0)

好吧,我明白了,问题是可执行文件的路径已从'/usr/local/bin/wkhtmltopdf'更改为其他目录。所以我只是使用命令

sudo rm -r /usr/local/bin/wkhtmltopdf 中删除二进制文件
which wkhtmltopdf

之后我通过运行cd /usr/local/bin sudo ln -s /home/confiz/.rvm/gems/ruby-2.3.0/bin/wkhtmltopdf 找到新的二进制路径,然后通过运行命令创建一个符号链接

 public function authenticate($customerId, $password) {
    $user = $this->findById($customerId);

    if(!$this->pkdf->verify_password($password, $user->getHash())) {
        return false;
    } 

    $_SESSION['user']['customerid'] = $user->getId();
    $_SESSION['user']['email'] = $user->getEmailNormal();
}

这解决了我的问题