描述不清晰
修改理由:
详细描述:
这里使用的是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 扩展包实战教程 - 从入门到发布()》
此投稿已在 5年前 合并。
内容修改:
| 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 的使用: |
关于 LearnKu