# Testing Huff with Foundry
While Huff can be compiled through the command line tool, you can also use Foundry to test your code. Foundry (opens new window) is a blazing fast, portable, modular toolkit for Ethereum application development. Foundry enables you to easily compile your contracts and write robust unit tests to ensure that your code is safe. This is especially important for Huff contracts, where there aren't many automatic safety-checks on your code.
You can use the two together via the foundry-huff (opens new window) library.
# Utilizing Foundry-Huff
If you have an existing Foundry project, you can simply install the necessary dependencies by running:
forge install huff-language/foundry-huff
You also must add the following line to your foundry.toml
file to ensure that the foundry-huff library has access to your environment in order to compile the contract:
ffi = true;
You can then use HuffDeployer
contract to compile and deploy your Huff contracts for you using the deploy
function. Here's a quick example:
import { HuffDeployer } from "foundry-huff/HuffDeployer.sol";
contract HuffDeploymentExample {
function deploy() external returns(address) {
return new HuffDeployer().deploy("MyContract");
}
}
For more information on how to use Foundry, check out the Foundry Github Repository (opens new window) and Foundry Book (opens new window).
# Using the Project Template
If you're looking to create a new project from scratch, you can use the project template (opens new window).
We go over using the project template in https://docs.huff.sh/get-started/project-quickstart/ (opens new window).