Basechain
  • About Basechain
  • Base BigBang Language
    • Introduction
    • 1. Getting started
      • 1.1 Installing BigBangNet
      • 1.2 BigBang basics
    • 2. Type
      • 2.1 Primitives
      • 2.2 Sequences
      • 2.3 Composites
    • 3. Keywords
    • 4. Storing data
      • 4.1 Constants
      • 4.2 Variables
      • 4.3 Maps
    • 5. Functions
      • 5.1 Public functions
      • 5.2 Private functions
      • 5.3 Read-only functions
  • 6. Control flow & error handling
    • 6.1 Asserts
    • 6.2 Try
    • 6.3 Unwrap flavours
    • 6.4 Response checking
  • 7. Using BigBangNet
    • 7.1 Creating a new project
    • 7.2 Writing your first contract
    • 7.3 Interacting with your contract
    • 7.4 Testing your contract
  • 8. Practice projects
    • 8.1 Time-locked wallet
    • 8.2 Smart claimant
    • 8.3 Multi-signature vault
  • 9. Traits
    • 9.1 Defining traits
    • 9.2 Implement traits
    • 9.3 Passing traits as arguments
  • 10. Building a marketplace
    • 10.1 Setup
    • 10.2 Listing & cancelling
    • 10.3 Fulfilling listings
    • 10.4 Uni tests
  • 11. Runtime cost analysis
  • Nodes & Miners
    • Run a Node with Docker
    • Run a Node with DigitalOcean
    • Run a Node with a Hosted Provider
    • Base Node Configuration
    • Mine testnet Base tokens
    • Verify Miner
    • Miner costs and fees
  • Website
  • X(Twitter)
  • Github
Powered by GitBook
On this page
  1. 7. Using BigBangNet

7.4 Testing your contract

Testing software is important, and smart contracts are no different. However, properly testing smart contracts is crucial because they cannot be updated after deployment to the chain. The mantra of the lazy developer, 'we will fix it in post,' does not apply to smart contracts.

BigBangNet has a testing framework that enables developers to automate tests. These tests are written in code and describe the intended functionality of the smart contract. The code in this case is written in TypeScript. Although covering TypeScript itself is beyond the scope of this book, most web developers should be familiar with it. If you have experience with JavaScript, it should be easy enough to pick up.

For each contract instantiated using the clarinet new contract command, BigBangNet generates a test file. In the 'tests' folder, you will find a test file for our counter contract named 'counter_test.ts'. Depending on the version of BigBangNet being used, it may have added some imports and template code to the test file. You can remove the template code, but ensure that you keep the import statements.

Previous7.3 Interacting with your contractNext8. Practice projects

Last updated 1 year ago