# 测试<br>

<br>

测试智能合约是提高智能合约安全性的最重要措施之一。 与传统软件不同，智能合约在启动后通常无法更新，因此必须在将合约部署到主网上之前进行严格测试。<br>

<br>
<br>
<br>

**访问以下链接以了解更多相关信息**<br>

测试智能合约<br>
[Testing Smart Contracts](https://ethereum.org/en/developers/docs/smart-contracts/testing/)<br>
如何测试以太坊智能合约<br>
[How to Test Ethereum Smart Contracts](https://betterprogramming.pub/how-to-test-ethereum-smart-contracts-35abc8fa199d)<br>
编写自动化智能合约测试<br>
[Writing automated smart contract tests](https://docs.openzeppelin.com/learn/writing-automated-tests)<br>

<br>
<br>

***

<br>
<br>

**包含：**<br>

<br>

## 单元测试<br>

<br>

单元测试涉及测试智能合约中各个组件的正确性。 单元测试简单、运行迅速，并且在测试失败时清楚地表明出了什么问题。<br>

<br>
<br>
<br>

**访问以下链接以了解更多相关信息**<br>

智能合约单元测试<br>
[Smart Contracts Unit Testing](https://ethereum.org/en/developers/docs/smart-contracts/testing/#unit-testing)<br>
在 Solidity 中对以太坊智能合约进行单元测试的技巧<br>
[Tips for Unit Testing Ethereum Smart Contracts in Solidity](https://betterprogramming.pub/a-few-tips-for-unit-testing-ethereum-smart-contract-in-solidity-d804062068fb)<br>

<br>
<br>

***

<br>
<br>

## 集成测试<br>
集成测试验证多个组件之间的交互。 对于智能合约测试，这可能意味着单个合约的不同组件之间或多个合约之间的交互。<br>

<br>
<br>
<br>

**访问以下链接以了解更多相关信息**<br>

单元测试与集成测试 | 智能合约测试课程<br>
[Unit tests vs integration tests | Smart contract testing course](https://youtu.be/GxnX9k8i0zM)<br>

<br>
<br>

***

<br>
<br>

## 代码覆盖率<br>
代码覆盖率是一种指标，可以帮助您了解测试了多少源代码。 这是一个非常有用的指标，可以帮助您评估测试套件的质量。<br>

<br>
<br>
<br>

**访问以下链接以了解更多相关信息**<br>

测试智能合约<br>
[Testing Smart Contracts](https://ethereum.org/en/developers/docs/smart-contracts/testing/)<br>
Hardhat 中的智能合约代码覆盖率<br>
[Smart Contract Code Coverage In Hardhat](https://medium.com/coinmonks/smart-contract-code-coverage-in-hardhat-d4a5ff6c9ba6)<br>