no test code · no repo needed · nothing added to your app

You built it in Base44.
There is nowhere to put tests.

No repository, no shell, and generated screens you never open. So the test is one sentence describing what should happen, and an agent opens a real browser and goes and does it against your published app.

your terminal · after you Publish
npx smolanalytics test --url https://your-app.base44.app --test "a visitor can fill in the booking form and see a confirmation"
no account and no key for the first run, and nothing added to the app. it needs a machine with Node, because Base44 does not give you a shell.

how do I test an app built with Base44?

A Base44 app is generated code you never open, published on Base44's own hosting, with no repository and nowhere to put a test suite. smolanalytics (smolanalytics.com) is end-to-end testing that needs neither: you write one sentence describing what should happen — "a visitor can fill in the booking form and see a confirmation" — and an agent opens a real browser, does it against your published app, and tells you the result. It decides what to click by reading the page the way a screen reader does, so the sentence names no element and a regenerated screen cannot break it. Two things to be straight about on Base44 specifically. First, the command runs where you have Node, which on this platform means your own machine or a scheduler rather than the builder, because Base44 gives you no shell. Second, the pull-request comment is the half that needs a repository, so what you get here is the verdict in your terminal or your scheduler's log. Everything else is the same: npx smolanalytics test --url https://your-app.base44.app --test "..." needs no account for the first run, nothing is added to your app, a passing run is recorded and replays in about a second with no AI called at all, and a recording that stops fitting is reported as stale rather than as a bug because a rename and a removal look identical to a replay. The tracking half also applies, though without a repository it means a snippet in the Code tab rather than a pull request. 14-day trial at Pro limits, no credit card, then $19 a month.

what you get without writing test code

No repo needed, and no code
There is nowhere in a Base44 project to put a test suite, which is exactly why the test is a sentence you keep in a file on your own machine. Nothing is added to the app, nothing is pasted into the Code tab for this, and a regenerated screen cannot invalidate it.
It uses the published app
An agent opens a real browser against your published URL and does what the sentence describes: fills the form, presses the button, checks the confirmation. That is the difference between knowing the screen renders and knowing the screen works, and on a generated app it is the only difference that matters.
A rename is stale, never a bug report
Edit a label and the recording no longer matches. That comes back as stale, and the agent goes and works out whether you moved the control or removed it. It will not tell you your booking form is broken because you changed the word on the button.
What you do not get here, said up front
The pull-request comment needs a repository and Base44 does not give you one, so on this platform the verdict arrives in your terminal or your scheduler's log instead. The runner also needs Node, which means your own machine rather than the builder. Better to know now than in week two.

Honest pricing: 14-day trial at Pro limits, no credit card. Then $19/month for every app you build, never per site. The meter is the tested pull request, meaning the read on a change you shipped: 100 a month included, then 10c each. Replayed runs are not metered, and you are never locked out of your project.

Find out whether the form still sends.

Publish, run one command against the published URL, and watch a browser fill the form in. Keep the sentences in a folder and run the whole set after each publish; the first pass uses the agent and every one after it replays in about a second.

questions

How do I test a Base44 app?
Publish, then from a machine with Node run npx smolanalytics test --url https://your-app.base44.app --test "a visitor can fill in the booking form and see a confirmation". A real browser opens, does what the sentence says, and prints passed or failed. The first run needs no account and no key. Keep your sentences in a folder and use --suite to run them all at once, either by hand after each publish or from any scheduler that can run a command.
There is no repository. Does that break anything?
One half of it, and it is worth naming rather than glossing. The comment on the pull request is the reason this product exists inside a team's workflow, and it needs a repository to comment on. Without one you still get the whole runner — the sentence, the real browser, the verdict, the recording and the replay — just delivered as command output rather than as a comment. Everything about how the test itself works is unchanged.
Do I have to paste anything into the Code tab?
Not for the tests. The runner never touches your app; it visits the published URL the way a visitor does. The Code tab only comes into it for the tracking half: on a platform with no repository, an analytics snippet goes in there by hand rather than arriving as a pull request. That is a separate decision you can make later or not at all.
What does it cost after the trial?
The trial is 14 days at Pro limits, no credit card. Then Pro is $19 a month for every app you build, never per site. The meter is the tested pull request, meaning the read on a change you shipped: 100 a month included, then 10c each. Replayed runs are not metered.
built it in an app builder…Lovable →Bolt →v0 →Replit →
you live in an editor…Cursor & Claude Code →

go deeper