# Lezer testing for error nodes

**URL:** <https://discuss.codemirror.net/t/lezer-testing-for-error-nodes/9651>\
**Category:** Lezer\
**Created:** [January 14, 2026, 4:18pm UTC](https://discuss.codemirror.net/t/lezer-testing-for-error-nodes/9651 "2026-01-14T16:18:08Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jnavb](https://discuss.codemirror.net/user_avatar/discuss.codemirror.net/jnavb/32/4213_2.png) [@jnavb](https://discuss.codemirror.net/u/jnavb)\
**Post date:** [January 14, 2026, 4:18pm UTC](https://discuss.codemirror.net/t/lezer-testing-for-error-nodes/9651/1 "2026-01-14T16:18:08Z")

</div>

This is an example of code and the Ast from my lezer parser:

code: `foo.`  
Ast: `ObjectCreationExpression(Identifier,".",⚠)`

Is there a way to test this case with `fileTests` from `@lezer/generator/dist/test` ?

I understand the test runner fails whenever it find an error node ` SyntaxError: No parse at X`

Maybe `testTree` supports this (haven’t test it) but it would be nice to use the same approach to test happy/unhappy paths

---

<div class="post-metadata">

**Author:** ![marijn](https://discuss.codemirror.net/user_avatar/discuss.codemirror.net/marijn/32/136_2.png) [@marijn](https://discuss.codemirror.net/u/marijn)\
**Post date:** [January 14, 2026, 4:56pm UTC](https://discuss.codemirror.net/t/lezer-testing-for-error-nodes/9651/2 "2026-01-14T16:56:41Z")

</div>

> [@jnavb](#):
>
> I understand the test runner fails whenever it find an error node ` SyntaxError: No parse at X`

If there’s a `⚠` character in your expected tree, it won’t.

---

<div class="post-metadata">

**Author:** ![jnavb](https://discuss.codemirror.net/user_avatar/discuss.codemirror.net/jnavb/32/4213_2.png) [@jnavb](https://discuss.codemirror.net/u/jnavb)\
**Post date:** [January 14, 2026, 5:37pm UTC](https://discuss.codemirror.net/t/lezer-testing-for-error-nodes/9651/3 "2026-01-14T17:37:01Z")

</div>

Will check again if I missed anything, thanks

---

<div class="post-metadata">

**Author:** ![Toly](https://discuss.codemirror.net/user_avatar/discuss.codemirror.net/toly/32/5446_2.png) [@Toly](https://discuss.codemirror.net/u/Toly)\
**Post date:** [April 7, 2026, 6:58am UTC](https://discuss.codemirror.net/t/lezer-testing-for-error-nodes/9651/4 "2026-04-07T06:58:58Z")

</div>

@jnavb Hi, already solved or not?

---

<div class="post-metadata">

**Author:** ![jnavb](https://discuss.codemirror.net/user_avatar/discuss.codemirror.net/jnavb/32/4213_2.png) [@jnavb](https://discuss.codemirror.net/u/jnavb)\
**Post date:** [April 7, 2026, 7:49am UTC](https://discuss.codemirror.net/t/lezer-testing-for-error-nodes/9651/5 "2026-04-07T07:49:56Z")

</div>

@Toly iirc it was a typo on my end, regards.

---

<div class="post-metadata">

**Author:** ![Toly](https://discuss.codemirror.net/user_avatar/discuss.codemirror.net/toly/32/5446_2.png) [@Toly](https://discuss.codemirror.net/u/Toly)\
**Post date:** [April 7, 2026, 8:15am UTC](https://discuss.codemirror.net/t/lezer-testing-for-error-nodes/9651/6 "2026-04-07T08:15:46Z")

</div>

😄@jnavb BTW, which function do you use to write the unit test? `fileTests` or `testTree`?
