It looks like the checkbox IDs are populated by making dynamic strings. This is making it impossible to do unit testing with snapshots.
Example of the dynamic strings, from the EUI docs:

Snapshot tests will fail with errors like:
aria-label="Select all rows"
checked={false}
className="euiCheckbox__input"
data-test-subj="checkboxSelectAll"
disabled={true}
- id="_selection_column-checkbox_fubvvpen"
+ id="_selection_column-checkbox_oruz39nk"
onChange={[Function]}
type="checkbox"
/>
@tsullivan It will only auto-generate if you don't pass an id explicitly with every row object. The docs example shows passing an id like so:
{
id: '1',
firstName: 'john',
lastName: 'doe',
github: 'johndoe',
dateOfBirth: Date.now(),
nationality: 'NL',
online: true
}
And then the id of the box is _selection_column_1-checkbox

The same id is then used for the data-test-subj as well. I'm going to consider this issue a no-op and close it, but feel free to reopen if you continue to have the problem.
The generated id occurs in the "Select all" (data-test-subj=checkboxSelectAll) checkbox, which always uses makeId
For unit testing, mocking is the correct approach:
jest.mock('@elastic/eui/lib/components/form/form_row/make_id', () => () => 'generated-id');
But any interaction in the table will cause the id to be changed. It should be stored in local state for the duration of the component lifecycle.
@thompsongl make/generate id functions might be good candidates for our jest build. May also be too judicial of a choice... maybe the mocked function can expose some configuration method?
@chandlerprall Yes, especially after we get #3112 done and it's clear where the id is coming from.
May also be too judicial of a choice
Everything seems relatively safe after icons 馃槃. Customization is a good idea, though