It was a good workout for Gary Bowyer's side in a match played in a great spirit.
Rovers had the better of the play in the first half without ever really testing Bantams 'keeper Jordan Pickford.
Whilst in the second half it was Paul Robinson who was called upon to make two crucial saved to keep the home side at bay.
Luke Varney could have won it for Rovers in the final moments but he fired narrowly over from a tight angle.
Gary Bowyer shuffled his pack once more with Tommy Spurr getting his first runout of the summer after a minor groin niggle.
He lined up in a back four alongside Alex Baptiste, Grant Hanley and Matt Kilgallon, with Paul Robinson between the posts.
Corry Evans, Lee Williamson and Jason Lowe occupied the central midfield slots with Ben Marshall and Chris Taylor wide feeding Josh King up front.
Unfortunately for the Rovers boss he wasn't able to call upon Rudy Gestede as the striker felt unwell on arrival at the ground, whilst Chris Brown wasn't quite ready to make his bow.
Bowyer also took the opportunity to rest some of the regulars, with Jordan Rhodes, Craig Conway and Tom Cairney all watching on from the stands.
Rovers were bright from the off and that set the tone for the majority of the first half as they enjoyed the lions share of the ball.
Taylor, Lowe and Baptiste all had early opportunities, but Jordan Pickford, on a season-long loan from Sunderland, wasn't troubled.
The visitors were seeing plenty of the ball, keeping a good tempo despite the sweltering conditions. A sliding Ben Marshall couldn't connect at the near post after good work from King, Evans and Spurr, whilst Taylor and Lowe were wide with efforts.
With Rovers enjoying the majority of the play opportunities for the home side were few and far between, but as the half drew to a close they started to threaten Robinson's goal, Billy Clarke over the bar with a free-kick, whilst Alan Sheehan and James Hanson couldn't direct headers on target.
The Rovers boss took his half-time team talk at the side of the pitch and made just the one change at the break as Adam Henley replaced Tommy Spurr. Former Rovers goalkeeper Matty Urwin was introduced for the hosts.
It was the Bantams who forced the pace after the turnaround with a trio of quick-fire chances.
Full back Sheehan poked wide on 51 minutes from Clarke's centre before Paul Robinson showed superb reactions to tip over Mark Yeates' fiercely struck effort.
The Rovers number one was called into action once more a minute later as Sheehan evaded a Corry Evans challenge, Robinson saving well at his near post.
Once play settled down it was Rovers who saw most of the ball once again, but aside from a dangerous cross from Alex Baptiste that just evaded a blue and white shirt, chances were at a premium.
Luke Varney replaced Marshall just past the hour mark, then at the midway point of the second half Rovers made a further nine changes, including trialist goalkeeper Jamie Ashdown. The home side also making several changes as the half progressed.
Whilst a host of younger players were introduced it was one of the old guard who had Rovers' best chance as the game drew to a close. Luke Varney racing through from the left but he fired over from a tight angle.
Rovers play their penultimate friendly this coming Wednesday night when they take on Bury at the JD Stadium before end their summer preparations at home to Stoke City on Sunday 3rd August.
BRADFORD CITY: Pickford (sub Urwin 46 mins), Darby (c), Sheehan (sub Heaton 88 mins), Dolan (sub Shariff 83 mins), Davies (sub Routis 78 mins), Liddle (sub Meredith 72 mins), Hanson (sub McBurnie 69 mins), Clarke (sub Clarkson 69 mins), Knott (sub Kennedy 59 mins), De Vita (sub Yeates 45 mins), McArdle.
Subs not used: Campion, Lambe.
ROVERS: Robinson (sub Ashdown 72 mins), Baptiste (sub Lenihan 72 mins), Spurr (sub Henley 46 mins), Williamson (sub Tanner 72 mins), Hanley (c) (sub Songo'o 72 mins), Kilgallon (sub O'Connell 72 mins), Marshall (sub Varney 63 mins), Lowe (sub O'Sullivan 72 mins), King (sub Dunn 72 mins), Evans (sub Rittenberg 72 mins), Taylor (sub Mahoney 72 mins).