And then I found the solution.
// Set up the test model as normal:
$this->TestQuote = ClassRegistry::init('TestQuote');
// Then set up a duplicate model with a different name
$this->TestQuoteSource = ClassRegistry::init('TestQuote');
// Then set the datasource of the duplicate
$this->TestQuoteSo
I have a fixture:
public $import = array('model' => 'TestQuote', 'records' => true);
...which, as you'd expect, creates a table in my test database and imports
the records. My test case iterates over the rows and runs a test quote for
each row, comparing an expected price with a returned price.