描述不清晰
DongDavid
3年前
修改理由:
详细描述:
这里使用的是composer require phpunit/phpunit mockery/mockery
直接引入依赖包(未声明版本),这样会导致生成的composer.json
文件中形成
"require": {
"guzzlehttp/guzzle": "^6.3",
"phpunit/phpunit": "^9.2",
"mockery/mockery": "^1.4"
},
然后在Laravel项目引入的时候就出错了,
因为在laravel的部分版本中,phpunit是限制为^8.0.
就和前面第8节一样,使用composer require guzzlehttp/guzzle
安装依赖而未声明版本号,我安装的是7.0版本的。而目前Laravel7.19中已经默认引入了"guzzlehttp/guzzle": "^6.3"
,就会导致冲突。
所以我觉得这里需要给出composer.json
的内容方便学习。
"require": {
"guzzlehttp/guzzle": "^6.3"
},
"require-dev": {
"phpunit/phpunit": "~5 || ~7",
"mockery/mockery": "^1.1"
},
相关信息:
- 类型:教程文章
- 文章: 编写单元测试
- 课程: 《LX2 PHP 扩展包实战教程 - 从入门到发布()》
此投稿已在 3年前 合并。
内容修改:
Old | New | Differences |
---|---|---|
11 | 11 | ```shell |
12 | 12 | $ cd ~/Code/weather |
13 | 13 | $ composer require phpunit/phpunit mockery/mockery |
14 | ``` | |
15 | 最终 `composer.json` 内容如下: | |
16 | ||
17 | *composer.json* | |
18 | ``` | |
19 | { | |
20 | "name": "overtrue/weather", | |
21 | "description": "A weather SDK.", | |
22 | "license": "MIT", | |
23 | "authors": [ | |
24 | { | |
25 | "name": "overtrue", | |
26 | "email": "i@overtrue.me" | |
27 | } | |
28 | ], | |
29 | "autoload": { | |
30 | "psr-4": { | |
31 | "Overtrue\\Weather\\": "./src" | |
32 | } | |
33 | }, | |
34 | "require": { | |
35 | "guzzlehttp/guzzle": "^6.3" | |
36 | }, | |
37 | "require-dev": { | |
38 | "phpunit/phpunit": "~5 || ~7", | |
39 | "mockery/mockery": "^1.1" | |
40 | } | |
41 | } | |
14 | 42 | ``` |
15 | 43 | |
16 | 44 | 在开始写测试之前我们先大致了解一下 PHPUnit 的使用: |