我有一个这样的手动模拟crypto:
// __mocks__/crypto.js
const crypto = jest.genMockFromModule('crypto')
const toString: Function = jest.fn(() => {
return {}.toString()
})
const mockStringable = {toString}
const update: Function = jest.fn(() => mockStringable)
const deciper = {update}
crypto.createDecipheriv = jest.fn(() => deciper)
export default crypto
Run Code Online (Sandbox Code Playgroud)
基本上是这样测试的:
const crypto = require('crypto')
jest.mock('crypto')
describe('cookie-parser', () => {
afterEach(() => {
jest.resetAllMocks()
})
describe('decryptCookieValue', () => {
it('should call the crypto library correctly', () => {
const result = decryptCookieValue('test-encryption-key', 'test-encrypted-value')
expect(crypto.pbkdf2Sync).toHaveBeenCalledTimes(2)
expect(crypto.createDecipheriv).toHaveBeenCalled()
// more tests, …Run Code Online (Sandbox Code Playgroud) 所以我最近使用Docker安装了WordPress,这是一个来自Docker docs(https://docs.docker.com/compose/wordpress/)的简单填空组合文件.
version: '3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD:
MYSQL_DATABASE:
MYSQL_USER:
MYSQL_PASSWORD:
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER:
WORDPRESS_DB_PASSWORD:
volumes:
db_data:
Run Code Online (Sandbox Code Playgroud)
它正在运行.那部分很好,但是当我前往http://siteurl/wp-json我得到404.网站工作正常,但REST API无法访问.我在WAMP上运行了另一个站点,当我到达该地址时,它弹出:
{
"name": "localhost:8090",
"description": "Just another WordPress site",
"url": "http://localhost:8090/wordpress",
"home": "http://localhost:8090/wordpress",
"gmt_offset": "0",
"timezone_string": "",
"namespaces": [
"oembed/1.0",
"wp/v2"
],
...
Run Code Online (Sandbox Code Playgroud)
两个站点都运行4.8.在Docker上运行WordPress时如何访问REST API?我通常使用Docker在本地开发,并且不记得这是一个问题.
(作为旁注,我发布了Bitnami发布的一个WordPress容器,并且没有问题得到正确的响应.所以这是...官方WordPress图像的问题?可能是图像的底层堆栈??我可以使用它,但我真的,真的,非常想知道问题是什么,因为我已经看到类似的问题出现在我的同伴们身上了)